javascript - 在 Firefox 中从 blob 下载图像

标签 javascript jquery ajax firefox

我尝试按照此 post 的答案来实现从 blob 下载图像。 (来自@Jonathan Amend 的)。下载功能在 Google Chrome 中完美运行。然而,在 Firefox 上测试时,我最终得到的文件是 blob 而不是 jpg/png/etc。是否需要任何额外的代码才能使其在 Firefox 中正常工作?我的代码在 ajax 中看起来完全一样,除了在将数据作为新 blob 传递之前对我的数据使用 atob 之外,如下所示:

 var blob = new Blob([atob(data)], { type: type });

最佳答案

不确定发生了什么,但由于某些奇怪的原因,即使设置了类型,文件的扩展名也不会在 Firefox 中设置。为了解决这个问题,我检查了浏览器是否为 Firefox,并在文件名中添加了文件类型扩展名,如下所示:

if(navigator.userAgent.search("Firefox") >- 1) {
     var temp = type.split('/');
     filename = filename + "." + temp[1];
}

也许您建议更好的解决方案?

关于javascript - 在 Firefox 中从 blob 下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36904956/

相关文章:

c# - Web API 2 身份验证

javascript - $el.find(...).iCheck 不是函数

javascript - 通过 Props 将值从 React Stateless Child 传递给 Parent

javascript - 如何正确制作计数器 AngularJS

javascript - 约束验证和 knockout 验证

javascript - 使用 jQuery 提交后清除表单

javascript - fitBounds 调用后增加 map 缩放不起作用

javascript - 从 http header 响应中获取日期

javascript - 获取 SVG 文本元素的宽度

javascript - 在 HTML <div> 中使用返回的 JSON 编码的 AJAX PHP 响应作为值?