簡體   English   中英

在javascript中將Blob轉換為文件列表

[英]Convert Blob to File List in javascript

我使用以下代碼將畫布圖像轉換為blob。
為了將blob轉換為文件/文件列表對象,我需要將該文件列表傳遞給文件處理程序。

mycode的:

var canvas1 = document.getElementById("preview");
var theImage = document.getElementById("blahProfile");
theImage.src = canvas1.toDataURL();
var blob = dataURItoBlob(theImage.src);

有沒有辦法將該blob轉換為文件對象?

File對象包含的信息多於Blob對象,其中包含lastModifiedDatefileName等屬性。 您的圖像數據具有這些屬性中的任何一個都沒有意義,因為它不是文件。

我假設你FileList處理程序用戶使用FileReader來讀取File對象。 但是, FileReader方法也可以處理Blob對象(因為FileBlob的子類)。 因此,您可以:

  • 將您的FileReader代碼提取到一個單獨的函數中,該函數接受BlobFile (可能還有解析回調函數)和處理每個FileList項時的函數以及處理Blob圖像數據時的函數

  • 如果你的FileList處理程序只通過索引訪問列表項(例如, myFileList[i] ),那么你可以簡單地使用一個Blob數組偽造一個FileList 例如,此函數適用於真實的FileListBlob的數組:

     function processFileList(list) { var reader = new FileReader(); reader.readAsText(list[0]); reader.addEventListener("loadend", function() { console.log(reader.result); }); } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM