第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以將 blob 文件轉(zhuǎn)換為 Javascript中的 base64Data?

是否可以將 blob 文件轉(zhuǎn)換為 Javascript中的 base64Data?

當年話下 2023-03-10 13:19:20
async FileZip() {    const code = await fetch("./assets/input.txt")    var blob = await downloadZip([code]).blob()     console.log(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;    FileSharer.share({      filename: "input.zip",      base64Data: //base64datawillbehere ,      contentType: 'application/zip'    });    reader.readAsDataURL(blob);  })我對 Ionic 和應(yīng)用程序開發(fā)還很陌生。我使用client-zip庫將文本文件壓縮為 zip blob 文件。使用 downloadZip() 我得到了一個 像這樣的zip blob 文件。我想使用Capacitor Filesharer將此文件作為 zip 文件共享。但是要使用這個 Filesharer 插件,我似乎必須將這個 blob zip 文件轉(zhuǎn)換為 base64 數(shù)據(jù)。誰能告訴我怎么做??或者甚至有可能做到這一點?如果您發(fā)現(xiàn)我的問題太不成熟,請原諒我,因為正如我所說,我對 javascript 還很陌生。
查看完整描述

3 回答

?
POPMUISE

TA貢獻1765條經(jīng)驗 獲得超5個贊

考慮使用以下函數(shù):


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

    })

}


查看完整回答
反對 回復 2023-03-10
?
慕斯王

TA貢獻1864條經(jīng)驗 獲得超2個贊

嘗試修改您的代碼,如下所示:(沒有更改之前的答案,因為它可能對其他人使用Observable策略實現(xiàn)此類操作很有用,這與我建議使用Promise的情況不同)


ngOnInit(): void {

  this.fileZip();

}


private blobToBase64(blob: Blob): Promise<string> {

  return new Promise((resolve, reject) => {

    const reader = new FileReader();

    reader.onerror = reject;

    reader.onabort = reject;

    reader.onload = () => resolve(reader.result as string);

    reader.readAsDataURL(blob);

  })

}


private async fileZip(): Promise<void> {

  const code = await fetch("./assets/input.txt")

  const blob = await downloadZip([code]).blob();

  const base64Data = await this.blobToBase64(blob);

  await FileSharer.share({

    filename: "input.zip",

    base64Data: base64Data,

    contentType: "application/zip",

  })

}


查看完整回答
反對 回復 2023-03-10
?
皈依舞

TA貢獻1851條經(jīng)驗 獲得超3個贊

你可以試試這個代碼 -


fileZip() {

constcode = awaitfetch("./assets/input.txt");

varblob = awaitdownloadZip([code]).blob()

console.log(blob);

varreader = newFileReader();

reader.readAsDataURL(blob); 

reader.onloadend = ()=> {

constresult = reader.resultasstring;

constbase64Data = result.split(',')[1];

console.log(base64Data)

FileSharer.share({

filename:"json.zip",

base64Data,

contentType:'application/zip'

    });

  }

}


查看完整回答
反對 回復 2023-03-10
  • 3 回答
  • 0 關(guān)注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號