关于夸克、qq、uc等浏览器保存base64图片问题?
使用各品牌手机自带浏览器和chrome保存是没有的。只要使用这些浏览器就会保存失败。
var arr = response.tempFilePath.split(',');var bytes = atob(arr[1]);let ab = new ArrayBuffer(bytes.length);let ia = new Uint8Array(ab);for (let i = 0; i < bytes.length; i++) { ia[i] = bytes.charCodeAt(i);}var blob = new Blob([ab], { type: 'application/octet-stream' });var url = URL.createObjectURL(blob);var a = document.createElement('a');a.href = url;a.download = new Date().valueOf() + ".png";var e = document.createEvent('MouseEvents');e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);a.dispatchEvent(e);URL.revokeObjectURL(url);
夸克、uc、qq都是下载一个.bin结尾的文件,并且会保存失败
不知道有没有解决办法?
我之前也遇到一个类似的问题,应用有一个图片剪裁的功能,用户上传图片,发现图片尺寸不对会进行剪裁,剪裁后图片以 base64 的格式输出,之后把图片上传到云存储上。也是在你列举的几个浏览器上上传失败,当时的做法是把剪裁后的图片在一个新的页面上打开,然后让用户保存后重新上传图片。
这个问题涉及到浏览器对Base64编码的图片数据和下载的处理方式。根据你提供的信息,使用夸克、QQ、UC浏览器时,直接将Base64字符串赋值给图片并尝试保存会失败,即使转换为Blob对象并通过下载的方式也会出现同样的问题。
以下是几个可能的解决方案,你可以尝试一下:
image/png
或image/jpeg
。有些浏览器可能会根据响应头的Content-Type来判断如何处理响应的数据。需要注意的是,由于不同浏览器的处理方式和限制可能有所不同,因此解决方案可能需要根据具体使用的浏览器进行调整。同时,确保你的代码中没有其他可能导致问题的地方,如跨域问题、网络错误等。
希望这些解决方案能对你有所帮助!如果问题仍然存在或有其他疑问,请随时提问。
使用图片浏览器,你需要在 sm.js 和 sm.css 之后额外引入如下两个文件: <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm-extend.min.css"> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-exte
查了点资料,总结为: 浏览器会解码不同格式的图片为位图 这是正确的吗? 关于加载浏览器不支持的图片格式 使用: Electron 通信协议: grpc 我可以先把获取到的未支持格式图片(比如jxl)用后端服务解码(比如golang)后在返回给浏览器对吗? 浏览器如何使用解码的图片数据? 图片很大的话,如何实现先显示一张完整的预览图,再慢慢变得清晰? 谢谢
本文向大家介绍Ajax请求如何解决浏览器缓存问题?相关面试题,主要包含被问及Ajax请求如何解决浏览器缓存问题?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0")。 在ajax发送请求前加上 anyAjaxObj.setRequestHeader("Cache-C
本文向大家介绍php将图片保存入mysql数据库失败的解决方法,包括了php将图片保存入mysql数据库失败的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了php将图片保存入mysql数据库失败的解决方法。分享给大家供大家参考。具体分析如下: 图片保存数据库并不是一个明智的做法,我们多半是把图片保存到服务器,然后把图片地址保存到数据库,这样我们每次只要读出图片地址就可以显示了,但
我收到一个作为当前href的一部分。它是用base64编码的。我尝试使用对其进行解码,但得到以下错误: 在“window”上执行“atob”失败:要解码的字符串编码不正确 当我在代码中复制并粘贴提取的并转到一个在线解码站点时,它会正确解码。你有什么建议吗?
图片浏览器是一个像iOS图片浏览器一样用来展示图片的组件。图片可以被缩放或者平移 (可选)。 图片浏览器使用 幻灯片组件来展现图片。 创建一个图片浏览器实例 图片浏览器只需通过javaScript就可以被创建和初始化。我们需要使用App封装好的方法: myApp.photoBrowser(parameters) - 带参初始化图片浏览器 parameters - object - 图片浏览器参数对