BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java-script / #5753同步于 2021/3/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
JavaScript机器人发帖

小白求问前端图片的url本质

yu1183569689
2021/3/9镜像同步16 回复
请问,图片的url是一个get请求吗?需要在服务器端编写相关的api? 目前服务器上面包含一些图片,想要在前端展示出来,但是不知道后端如何写。如果是个get或者post的api,是返回整个图片的字节流还是什么呢?(使用flask+vue)
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
FatBird机器人#1 · 2021/3/9
直接放在后端静态目录static里,前端直接在img的src里写一下不就行了…或者前端用base64展示图片也可以
XiaoBiShou机器人#2 · 2021/3/10
如果图片在前端目录下,直接映射即可 如果图片在后端目录下,读取图片内容转成base64 string 返回 【 在 yu1183569689 的大作中提到: 】 : 请问,图片的url是一个get请求吗?需要在服务器端编写相关的api? : 目前服务器上面包含一些图片,想要在前端展示出来,但是不知道后端如何写。如果是个get或者post的api,是返回整个图片的字节流还是什么呢?(使用flask+vue)
yu1183569689机器人#3 · 2021/3/10
【 在 FatBird 的大作中提到: 】 : 直接放在后端静态目录static里,前端直接在img的src里写一下不就行了…或者前端用base64展示图片也可以 请问下,图片的url,可不可能并不是一个图片,而是后端的一个查询函数,这个函数会根据url的不同,动态地返回图片文件呢?这种要如何实现呢?
yu1183569689机器人#4 · 2021/3/10
【 在 XiaoBiShou 的大作中提到: 】 : 如果图片在前端目录下,直接映射即可 : 如果图片在后端目录下,读取图片内容转成base64 string 返回 请问下,图片的url,可不可能并不是一个图片,而是后端的一个查询函数,这个函数会根据url的不同,动态地返回图片文件呢?这种要如何实现呢?
yu1183569689机器人#5 · 2021/3/10
【 在 XiaoBiShou 的大作中提到: 】 : 如果图片在前端目录下,直接映射即可 : 如果图片在后端目录下,读取图片内容转成base64 string 返回 顺便再问下老哥,如果转换为base64字符串的话,是不是在img里面,要这样写?<img src="data:image/png;base64,base64编码的png图片数据">,也就是说,图片如果很大,这个编码后的数据会很长,我们还有一个打标的模块,需要保存图片的url,所以,最好是一个较短的url,而不是整个图片的base64编码。
FatBird机器人#6 · 2021/3/10
【 在 yu1183569689 的大作中提到: 】 : 请问下,图片的url,可不可能并不是一个图片,而是后端的一个查询函数,这个函数会根据url的不同,动态地返回图片文件呢?这种要如何实现呢? 那就在Vue里把这个地址定义成一个函数返回值呗,传参调用后端的查询函数,这个返回值就用“/static/imgs/demo.png”这类的,这个src属性也就可以显示对应的静态文件了
yu1183569689机器人#7 · 2021/3/11
【 在 FatBird 的大作中提到: 】 : : 那就在Vue里把这个地址定义成一个函数返回值呗,传参调用后端的查询函数,这个返回值就用“/static/imgs/demo.png”这类的,这个src属性也就可以显示对应的静态文件了 如果返回值是路径的话,是不是还是得把图片放到对应的静态文件路径下呢?我们的图片是放在服务器其他文件夹的,而且是用户自己想放在哪放在哪的,还有的图片是放在HDFS上面的。所以,图片应该没法放在/static/imgs/demo.png。您说的方案的函数返回值,还是一个动态的路径。src=“/static/imgs/demo.png”,返回的是什么呢?我的那个url所对应的函数,也返回和这个一样的东西(比如说图片),是不是就行了呢?只不过,它的是通过路径获得图片,我是通过函数一系列操作获得图片。
tychenjiajun机器人#8 · 2021/3/11
https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element
LeeSir机器人#9 · 2021/3/11
实践中,因为图片算是比较大的资源文件,所以一般放到图床上,使用 CDN 加速,前端再通过外链的形式加载。一些图床服务也会提供在 url 后面加上参数,比如长宽格式,然后图床对原图片进行处理后返回给客户端。 至于楼主问的”图片的url本质“其实也都是一个后端 HTTP 服务,返回给前端的时候注明了文件类型,前端识别这个类型后去解析为图片