开发者日记1-文件下载文件名乱码(所有语言通用下载设置)

源头

作为一个原Java开发者,在之前所开发的项目中,做文件下载我们有一个方法,就是获取User-agent然后去判断这个user-agent的请求头去依次根据浏览器去转换我们返回时的文件名称

文件下载为什么文件名非得依据不同的浏览器去处理?

真理往往掌握在少数人之中,以前写的文件下载那么多的废代码属实是因为对html的不了解导致的

真理来源

这份真理的来源是我使用GO语言做文件下载时文件名乱码,而我疯狂的使用转码而最终还是乱码导致我找到了这份真理之前,属实是不知道还有这种操作

真理的文章

说白了其实很简单, html文件下载时还是设置响应头,

c.Header("Content-Disposition", fmt.Sprintf("attachment; filename*=utf-8''%s", url.QueryEscape(fileName)))

这段最终的响应字符串设置就是将文件名使用url.Encode进行转码即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值