[英]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
對象,其中包含lastModifiedDate
和fileName
等屬性。 您的圖像數據具有這些屬性中的任何一個都沒有意義,因為它不是文件。
我假設你FileList
處理程序用戶使用FileReader
來讀取File
對象。 但是, FileReader
方法也可以處理Blob
對象(因為File
是Blob
的子類)。 因此,您可以:
將您的FileReader
代碼提取到一個單獨的函數中,該函數接受Blob
或File
(可能還有解析回調函數)和處理每個FileList
項時的函數以及處理Blob
圖像數據時的函數
如果你的FileList
處理程序只通過索引訪問列表項(例如, myFileList[i]
),那么你可以簡單地使用一個Blob
數組偽造一個FileList
。 例如,此函數適用於真實的FileList
或Blob
的數組:
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.