javascript:仅在safari中将BASE64转换为BLOB失败
我正在尝试将使用创建的blob转换为base64,并将其保存在websql数据库中。然后我也想用另一种方式来做这个过程。无论如何,我的测试代码没有压缩,看起来像:javascript:仅在safari中将BASE64转换为BLOB失败,javascript,base64,blob,Javascript,Base64,Blob,我正在尝试将使用创建的blob转换为base64,并将其保存在websql数据库中。然后我也想用另一种方式来做这个过程。无论如何,我的测试代码没有压缩,看起来像: var blob = new Blob([data], { type : "text/plain" }); blobToBase64(blob, function(b64) { // convert BLOB to BASE64 var newBlob = base64ToBlob(b64) ; //
var blob = new Blob([data], {
type : "text/plain"
});
blobToBase64(blob, function(b64) { // convert BLOB to BASE64
var newBlob = base64ToBlob(b64) ; // convert BASE64 to BLOB
console.log(blob.size + " != " + newBlob.size) ;
});
请参见一个工作示例:
所以,奇怪的是,它在Chrome中工作,但在Safari als中不工作,在我的iPad上也不工作
我还尝试将base64ToBlob重写为
function base64ToBlob(base64) {
var binary = atob(base64);
return new Blob([binary]) ;
}
但是反解压缩不再起作用,给了我一个IndexSizeError:DOM异常1异常
有什么建议我的代码可能有什么问题吗
Thnx在发表我的评论之后,我找到了一个解决方案 而不是 新Blob[数据] 做 新Blob[data.buffer]
注意添加了.buffer我在发表评论后找到了一个解决方案 而不是 新Blob[数据] 做 新Blob[data.buffer]
注意添加了.bufferYeah。。我也有同样的问题。bas64->blob转换在safari中失败,但在IE、Chrome和Firefox中有效。你找到答案了吗?是的。。我也有同样的问题。bas64->blob转换在safari中失败,但在IE、Chrome和Firefox中有效。你找到答案了吗?那太好了!然而,我不知道该在哪里应用这个。你能修改我的JSFIDLE吗?那太好了!然而,我不知道该在哪里应用这个。你能修改我的JSFIDLE吗?