Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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
是否可以将blob文件转换为Javascript(离子型、角度型)中的base64Data?_Javascript_Angular_Typescript_Ionic Framework_Blob - Fatal编程技术网

是否可以将blob文件转换为Javascript(离子型、角度型)中的base64Data?

是否可以将blob文件转换为Javascript(离子型、角度型)中的base64Data?,javascript,angular,typescript,ionic-framework,blob,Javascript,Angular,Typescript,Ionic Framework,Blob,[ 异步文件压缩{ const code=wait fetch./assets/input.txt var blob=await downloadZip[code].blob console.logblob; 函数blobToBase64blob:Blob:Observable{ 返回新的observeObserver=>{ const reader=新文件读取器; reader.onerror=observer.error; reader.onabort=observer.error; re

[

异步文件压缩{ const code=wait fetch./assets/input.txt var blob=await downloadZip[code].blob console.logblob; 函数blobToBase64blob:Blob:Observable{ 返回新的observeObserver=>{ const reader=新文件读取器; reader.onerror=observer.error; reader.onabort=observer.error; reader.onload==>observer.nextrader.result作为字符串; reader.onloadend=observer.complete; fileshare.share{ 文件名:input.zip, base64Data://base64datawillbehere, contentType:'应用程序/zip' }; reader.readAsDataURLblob;
} 考虑使用以下功能:

function blobToBase64(blob: Blob): Observable<string> {
    return new Observable<string>(observer => {
        const reader = new FileReader();
        reader.onerror = observer.error;
        reader.onabort = observer.error;
        reader.onload = () => observer.next(reader.result as string);
        reader.onloadend = observer.complete;
        reader.readAsDataURL(blob);
    })
}

考虑使用以下功能:

function blobToBase64(blob: Blob): Observable<string> {
    return new Observable<string>(observer => {
        const reader = new FileReader();
        reader.onerror = observer.error;
        reader.onabort = observer.error;
        reader.onload = () => observer.next(reader.result as string);
        reader.onloadend = observer.complete;
        reader.readAsDataURL(blob);
    })
}

尝试修改您的代码,如下所示:没有改变前面的答案,因为使用可观察的策略对其他人实现此类操作可能会很有用,这与我建议使用Promise的情况不同

恩戈尼尼特:空虚{ this.fileZip; } 私人blobToBase64blob:Blob:Promise{ 返回新的PromiseSolve,拒绝=>{ const reader=新文件读取器; reader.onerror=拒绝; reader.onabort=拒绝; reader.onload==>将reader.result解析为字符串; reader.readAsDataURLblob; } } 私有异步fileZip:Promise{ const code=wait fetch./assets/input.txt const blob=wait downloadZip[code].blob; const base64Data=wait this.blobToBase64blob; 等待fileshare.share{ 文件名:input.zip, base64Data:base64Data, contentType:application/zip, } }
尝试修改您的代码,如下所示:没有改变前面的答案,因为使用可观察的策略对其他人实现此类操作可能会很有用,这与我建议使用Promise的情况不同

恩戈尼尼特:空虚{ this.fileZip; } 私人blobToBase64blob:Blob:Promise{ 返回新的PromiseSolve,拒绝=>{ const reader=新文件读取器; reader.onerror=拒绝; reader.onabort=拒绝; reader.onload==>将reader.result解析为字符串; reader.readAsDataURLblob; } } 私有异步fileZip:Promise{ const code=wait fetch./assets/input.txt const blob=wait downloadZip[code].blob; const base64Data=wait this.blobToBase64blob; 等待fileshare.share{ 文件名:input.zip, base64Data:base64Data, contentType:application/zip, } }
你可以试试这个代码-

文件压缩{ constcode=waitfetch./assets/input.txt; varblob=waitingdownloadzip[code].blob console.logblob; varreader=newFileReader; reader.readAsDataURLblob; reader.onloadend==>{ constresult=reader.resultasstring; constbase64Data=result.split','[1]; console.logbase64Data fileshare.share{ 文件名:json.zip, 基本数据, contentType:'application/zip' }; }
} 你可以试试这个代码-

文件压缩{ constcode=waitfetch./assets/input.txt; varblob=waitingdownloadzip[code].blob console.logblob; varreader=newFileReader; reader.readAsDataURLblob; reader.onloadend==>{ constresult=reader.resultasstring; constbase64Data=result.split','[1]; console.logbase64Data fileshare.share{ 文件名:json.zip, 基本数据, contentType:'application/zip' }; }
}您好,我试图在Fileshare插件中实现它,但在本地主机中我遇到了此错误--在“窗口”上执行“atob”失败:要解码的字符串当前未编码。您好,我已添加了代码,如果可能,请检查您好,我试图在Fileshare插件中实现它,但在本地主机中我遇到了此错误--Failed在“窗口”上执行“atob”:要解码的字符串当前未编码。您好,我已添加了代码,如果可能,请检查您好,我尝试了您提供的代码,但我收到了相同的错误-core.js:4197错误:未捕获承诺:InvalidCharacterError:未能在“窗口”上执行“atob”:要解码的字符串s未正确编码。错误:未能在“窗口”上执行“atob”:要解码的字符串未正确编码。您能找出错误是在哪一行抛出的吗?尝试使用断点…我已将屏幕截图附在此处嗨,我尝试了您提供的代码,但我收到了相同的错误-core.js:4197错误:未捕获承诺:InvalidCharacterError:未能在“窗口”上执行“atob”:要解码的字符串未正确编码。错误:未能在“窗口”上执行“atob”:要解码的字符串未正确编码。您能找出错误是在哪一行抛出的吗?尝试使用断点…我已将屏幕截图附在此处