摘要:文件的類型,如果分辨不出類型,則為空字符串,該屬性只讀。二進制數據的類型,全部為小寫,如果類型未知,則該值為空字符串。對象的方法,將二進制數據按照字節分塊,返回一個新的對象。對象用于生成指向對象或對象的。
1.FileFile對象:負責處理那些以文件形式存在的二進制數據,也就是操作本地文件;
FileList對象:File對象的網頁表單接口;
FileReader對象:負責將二進制數據讀入內存內容;
URL對象:用于對二進制數據生成URL。
提供了如下的元信息,通過FileList中的單個文件調用
name:文件名,該屬性只讀。
size:文件大小,單位為字節,該屬性只讀。
type:文件的MIME類型,如果分辨不出類型,則為空字符串,該屬性只讀。
lastModified:文件的上次修改時間,格式為時間戳。
lastModifiedDate:文件的上次修改時間,格式為Date對象實例。
參照http://javascript.ruanyifeng.com/htmlapi/file.html
其中說明的兩個FileList
(1)使用input上傳文件,直接通過 ,其中this.files就是FileList
(2)使用拖拽的方式
function(evt){ var files = evt.dataTransfer.files; // FileList object. }3.FileReader
FileReader API用于讀取文件,即把文件內容讀入內存。它的參數是File對象或Blob對象。
(1)readAsBinaryString(Blob|File):返回二進制字符串,該字符串每個字節包含一個0到255之間的整數。
(2)readAsText(Blob|File, opt_encoding):返回文本字符串。默認情況下,文本編碼格式是’UTF-8’,可以通過可選的格式參數,指定其他編碼格式的文本。
(3)readAsDataURL(Blob|File):返回一個基于Base64編碼的data-uri對象。
(4)readAsArrayBuffer(Blob|File):返回一個ArrayBuffer對象。
參照http://javascript.ruanyifeng.com/htmlapi/file.html
1.全稱Binary Large Object,即二進制大數據對象,提供相應的接口;其他操作二進制的對象都是建立在Blob基礎之上,并繼承了其屬性和方法。
2.Blob只有兩個屬性,分別為size和type;
size:二進制數據的大小,單位為字節。
type:二進制數據的MIME類型,全部為小寫,如果類型未知,則該值為空字符串。
3.相關方法 】
(1)Blob構造函數,接受兩個參數。第一個參數是一個包含實際數據的數組,第二個參數是數據的類型,這兩個參數都不是必需的。
(2)Blob對象的slice方法,將二進制數據按照字節分塊,返回一個新的Blob對象。
URL對象用于生成指向File對象或Blob對象的URL。
var objecturl = window.URL.createObjectURL(blob);//生成 window.URL.revokeObjectURL(objectURL);//是失效9.將Base64轉化為Form-Data形式
function base64ToFile (baseUrl) { let byteString = window.atob(baseUrl.split(",")[1]) let mimeString = baseUrl.split(",")[0].split(":")[1].split(";")[0] // 類型數組 let ia = new Uint8Array(byteString.length) for (let i = 0; i < byteString.length; i++) { ia[i] = byteString.charCodeAt(i) } let formdata = new window.FormData() let file = new window.Blob([ia], { type: mimeString }) formdata.append("file", file, "cms." + mimeString.split("/")[1]) return formdata }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86484.html
摘要:讓應用程序擁有異步讀取存儲在用戶計算機上文件或原始數據緩沖區的能力,使用或對象指定要讀取的文件或數據。對象用來表示通用的固定長度的原始二進制數據緩沖區。事實上,沒有名為的全局對象,也沒有一個名為的構造函數。 Ajax 即 Asynchronous Javascript And XML (異步 JavaScript 和 XML),是指一種創建交互式網頁應用的網頁開發技術。在無需重新加載整...
公司最近有需要壓縮上傳圖片功能,查找了些資料并實現了一把。 主要用到的原生組件:FileReader、Canvas、Blob、FormData 邏輯步驟: FileReader.readAsDataURL將上傳的圖片文件轉為Base64格式 將img繪制到canvas上,canvas.toDataURL壓縮圖片 new Blob將壓縮后的Base64轉為Blob格式 FormData.appen...
閱讀 916·2021-11-25 09:43
閱讀 1283·2021-11-17 09:33
閱讀 2999·2019-08-30 15:44
閱讀 3301·2019-08-29 17:16
閱讀 472·2019-08-28 18:20
閱讀 1625·2019-08-26 13:54
閱讀 547·2019-08-26 12:14
閱讀 2166·2019-08-26 12:14