Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:仅在safari中将BASE64转换为BLOB失败_Javascript_Base64_Blob - Fatal编程技术网

javascript:仅在safari中将BASE64转换为BLOB失败

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) ; //

我正在尝试将使用创建的blob转换为base64,并将其保存在websql数据库中。然后我也想用另一种方式来做这个过程。无论如何,我的测试代码没有压缩,看起来像:

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]


注意添加了.buffer

Yeah。。我也有同样的问题。bas64->blob转换在safari中失败,但在IE、Chrome和Firefox中有效。你找到答案了吗?是的。。我也有同样的问题。bas64->blob转换在safari中失败,但在IE、Chrome和Firefox中有效。你找到答案了吗?那太好了!然而,我不知道该在哪里应用这个。你能修改我的JSFIDLE吗?那太好了!然而,我不知道该在哪里应用这个。你能修改我的JSFIDLE吗?