作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 MS Edge 20.10240.16384.0 时遇到一些问题(最新版本也有同样的错误)。我正在尝试使用 JS 下载文件(清晰的 JS,我没有机会使用任何库)。这是我这样做的方法:
window.open(url);
其中 url 变量是我要下载的文件的 URL。打开该 URL 会立即导致文件下载。问题是下载的文件没有扩展名,其名称类似于
'=_UTF-8_B_dGVzdEZpbGVOYW1lLV9kc2FkLnBkZg==_='
原始文件名为'test.pdf'
,我的方法在 Chrome、Firefox 和 IE11 上完美运行。有什么解决办法吗?
谢谢。
最佳答案
花了我好几个小时,发现如果文件名包含“£”字符,该文件将以 txt 格式下载,并使用随机字符作为文件名。
在 API 中添加了代码,以将文件名中的“£”替换为“GBP”。文件下载现在工作得很好。
奇怪的是,我根据 System.IO.File 类提供的 Path.InvalidPathChar() 列表检查所有字符。然而 '£' 会抛出错误。这也是为什么我无法立即解决这个问题,因为我知道“£”是允许的字符。
使用 ASP.Net MVC WebApi 测试文件下载。IE 和 Edge 总是失败,但 Chrome 和 Mozilla 可以正常工作。
关于javascript - MS Edge 上下载的文件名无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37160527/
我是一名优秀的程序员,十分优秀!