在此編碼查詢中,使用者試圖將從 HTML 表單輸入取得的 Blob 轉換為 Base64 字串。提供的程式碼透過使用 createObjectURL 建立 URL 物件成功顯示圖像,但使用 readAsBinaryString 進行所需的轉換會導致來源變數為空。
要解決此問題並繞過所提供程式碼的複雜性,有一個更簡單的解決方案下面介紹瞭如何利用 readAsDataURL 方法:
var reader = new FileReader(); reader.readAsDataURL(blob); reader.onloadend = function() { var base64data = reader.result; console.log(base64data); }
根據 FileReader 文檔,readAsDataURL將內容編碼為base64.
對於非同步處理,可等待函數可以定義為:
function blobToBase64(blob) { return new Promise((resolve, _) => { const reader = new FileReader(); reader.onloadend = () => resolve(reader.result); reader.readAsDataURL(blob); }); }
注意:要單獨取得base64編碼的字串,請刪除資料:< ;em>/;base64,來自結果。
以上是如何有效地將 Blob 從 HTML 表單轉換為 Base64 字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!