H5新增API-file相關

File對象

lastModified 最后一次修改時間(毫秒)
lastModifiedDate 最后一次修改日期
name 文件名
type 文件類型
size 文件大小

FileReader

  1. 構建FileReader實例
  2. 選擇要使用的讀取方式,如readAsDataURL(),將文件對象傳遞給該方法
  3. 監聽讀取完成事件onload,通過this.result得到讀取結果
  4. 其它監聽事件

以img為例,讀取文件

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <input type="file" name="" id="myFile" value="" multiple>
</body>
<script type="text/javascript">
    var inp = document.querySelector("#myFile");
    inp.onchange = function(){
        console.log(this.files);

        for (var i = 0; i < this.files.length; i++) {
            var file = this.files[i];
            console.log(file);

            var fr = new FileReader();
            fr.readAsDataURL(file);
            fr.onload = function(){
                console.log(this.result);
                var img = new Image();
                img.src = this.result;
                document.body.appendChild(img);
            }
        }
    }

</script>
</html>

在console.log控制臺中展現,第一句:“data:image/jpeg;base64,”表示base64編碼。

Base64是網絡上最常見的用于傳輸8Bit字節代碼的編碼方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的詳細規范。Base64編碼可用于在HTTP環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就采用了Base64來將一個較長的唯一標識符(一般為128-bit的UUID)編碼為一個字符串,用作HTTP表單和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制數據編碼為適合放在URL(包括隱藏表單域)中的形式。此時,采用Base64編碼具有不可讀性,即所編碼的數據不會被人用肉眼所直接看到。

讀取方式

readAsDataURL(file) 讀取地址 base64
readAsText(file[,encoding]) 讀取文本
readAsBinaryString(file) 以二進制讀取

事件

onload 讀取完成
onloadstart 開始讀取
onloadend 結束讀取 無論成功失敗都會觸發
onerror 觸發錯誤
onabort 中斷讀取時觸發

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,948評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,766評論 18 399
  • 在javascript的世界里無法處理二進制數據,如果需要處理,只能使用charCodeAt()方法,一個個字節地...
    我是上帝可愛多閱讀 628評論 0 4
  • 簡介 HTML5 終于為我們提供了一種通過 File API 規范與本地文件交互的標準方式。為了舉例說明其功能,可...
    ddai_Q閱讀 2,860評論 1 5
  • 山中犬吠夜已深, 茅屋獨我漸昏沉。 沒有處世萬全法, 怎棄功名利祿心。
    樊小籬閱讀 261評論 0 3