个人笔记--img、文件流

在做具体的二维码生成过程中,使用文件流的方式,在页面接收显示,并且下载,自己的一些小感悟,准确说是小心得

1.在页面显示,第一步仅仅显示

response.setContentType("image/jpeg");//设置相应类型,告诉浏览器输出的内容为图片

response.setHeader("Pragma", "No-cache");//设置响应头信息,告诉浏览器不要缓存此内容
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expire", 0);

这样设置就可以了,一开始的时候是通过form提交参数,返回到页面,发现在页面的左上角显示,感觉不舒服,所以就想如果能在页面的中间显示多好,

第一反应就是通过ajax发送请求,然后在页面的的一个特定的位置显示出二维码。翻阅一些帖子之后,发现ajax无法接受文件流这个格式的返回数据,因此这种方案被否决了。

在研究过程中,由于我们自己的前端框架是themeleaf的,所以在查看文档的过程中发现<img>标签中的alt属性,和src属性,自己对他们了解真的很少

alt:该图片是什么,比如我放了一张郁金香花的图片,但是不认识的人,就不知道是这个是郁金香,所以当我在alt属性中加上alt="郁金香花",别人就知道了,尤其是对一些残疾人来说就太重要了。还有一个比较好的地方就是,当该张图片出现问题的时候,比如没有这个图片,img会在该位置显示文字(alt的内容),不在是以前“破碎的图片”的样式。

src:都知道src是放图片的地址,但我之前理解仅仅是路径下的地址,原来也可以放url,重要的该url能访问到该地址,最好的是可以接受服务器想浏览器返回的图片流。

说到这大家可能已经知道我想说什么了,之前二维码是用图片流的格式返回的,既然ajax不能用,那就用img的src属性来接收既可。

2.生成的二维码如何能保存到用户本地那,方法还是用的同一个方法,也是返回图片流的形式

response.setContentType("image/jpeg");//设置相应类型,告诉浏览器输出的内容为图片

response.setHeader("Content-Disposition", "attachment; filename=erweima.jpg");//该参数告诉浏览器,这是以附件的形式,下载到本地的附件的名称为erweima

然后通过response获得输出流,在页面得到该图片,大功告成。

在实现第二步的时候也遇到了一些问题,就是下载的连接我用成了ajax提交,发现参数是接受到了,就是没有下载,后来发现用form post提交,这个问题就解决了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值