日常踩坑_点击链接后自动下载文件

照旧说一下前情提要:
将文件上传到文件服务器以后,会返回一个链接,本来是想通过这个链接直接看到文件内容的,结果返回的链接一点击就自动强制下载了,非常烦人
想要使该链接点击后是直接查看而不是点击下载

然后一顿排查搜索,发现response设置的content-Type是 application/octet-stream , 那么请记得一般文件下载的时候content-Type都要放置成这个值
而我现在不需要它直接下载,所以更改了content-Type的值,设置为了 text/x-css;text/x-scss,charset=utf-8,因为我上传的文件是css或scss的格式

但你以为这样就大功告成了吗?当然没有,不然怎么能叫坑呢
content-Type改了之后,依然还是点击就下载

最终找到了元凶:
content-disposition的值设置成了attachment,那么就会强制下载

那么这个值应该改成inline

然后就可以发现点击以后是查看而不是下载了,非常开心

对了,顺带一提,浏览器不会对url进行自动编码。所以像参数中含有\这种字符的会导致报错400,并发现参数传不进去

那么在代码里记得用URLEncode.encode(参数,编码)进行编码,注意,仅编码参数,不要整个url全部编码

跳坑快乐!!

posted @ 2022-04-27 19:59  Dean_001  阅读(1354)  评论(0)    收藏  举报