解决实现安卓[微信]H5长按无法保存和分享base64图片问题
问题产生原因,后台发来图片的base64编码有中有空格存在,而ios的WebView可以自动做处理,android则不能。
**解决方法如下:**将返回的base64编码去空格展示。(res.data代表后端返回的base64)
this.poster ="data:image/jpeg;base64," + res.data.replace(/(\r\n)|(\n)|(\r)/g, "");
好了这样就解决了!!!!!!!
同时记录一个问题:
安卓手机中长按海报图片,选择“另存到相册”,提示保存失败;选择转发给朋友,不弹出选择好友列表,转发失败,但是在苹果手机中可正常保存和转发。
原因是当前端请求post接口的时候,后端图片文件流直接返回到preview里面,前端需要把responseType转成blob来接收
然后这样页面这样处理是可以进行展示的:
但是,如果这个照片用户需要保存的话,安卓手机是不支持的。安卓微信就是不支持保存blob形式的图片,只能让后端改了。