国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

瀏覽器中File,FileReader,Blob, FormData, ArrayBuffer等對象

Cristalven / 1737人閱讀

摘要:文件的類型,如果分辨不出類型,則為空字符串,該屬性只讀。二進制數據的類型,全部為小寫,如果類型未知,則該值為空字符串。對象的方法,將二進制數據按照字節分塊,返回一個新的對象。對象用于生成指向對象或對象的。

File對象:負責處理那些以文件形式存在的二進制數據,也就是操作本地文件;
FileList對象:File對象的網頁表單接口;
FileReader對象:負責將二進制數據讀入內存內容;
URL對象:用于對二進制數據生成URL。

1.File

提供了如下的元信息,通過FileList中的單個文件調用
name:文件名,該屬性只讀。
size:文件大小,單位為字節,該屬性只讀。
type:文件的MIME類型,如果分辨不出類型,則為空字符串,該屬性只讀。
lastModified:文件的上次修改時間,格式為時間戳。
lastModifiedDate:文件的上次修改時間,格式為Date對象實例。

2.FileList

參照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對象。

4.Blob

參照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對象。

5.FormData 6.ArrayBuffer 7.Canvas 8.URL

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 的進階使用(BlobArrayBufferFormData、Document、JSON

    摘要:讓應用程序擁有異步讀取存儲在用戶計算機上文件或原始數據緩沖區的能力,使用或對象指定要讀取的文件或數據。對象用來表示通用的固定長度的原始二進制數據緩沖區。事實上,沒有名為的全局對象,也沒有一個名為的構造函數。 Ajax 即 Asynchronous Javascript And XML (異步 JavaScript 和 XML),是指一種創建交互式網頁應用的網頁開發技術。在無需重新加載整...

    wean 評論0 收藏0
  • 前端js壓縮圖片并上傳

    公司最近有需要壓縮上傳圖片功能,查找了些資料并實現了一把。 主要用到的原生組件:FileReader、Canvas、Blob、FormData 邏輯步驟: FileReader.readAsDataURL將上傳的圖片文件轉為Base64格式 將img繪制到canvas上,canvas.toDataURL壓縮圖片 new Blob將壓縮后的Base64轉為Blob格式 FormData.appen...

    peixn 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<