最近负责的某项目,提供了文件下载功能。有用户反馈,下载的.lnk文件,后缀名变成了.download。
经查,只有chrome系列浏览器才有这个问题。
抓包看下请求,发现服务端在response的header里给出了正确的文件名,如:
Content-Disposition: attachment; filename="xxx.lnk"
那么,这个重命名肯定是浏览器的默认行为。实际上,lnk类型的文件是一个软链,运行后会执行什么完全取决于不同的系统环境,没办法预期,Chrome认为这比较危险 ,就在底层强制对其重命名了。所以,这不是web应用所能决定的。
到此,问题就解决了。总共花费1分钟,就把bug resolved掉,还不用改一行代码,happy呀~
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8