摘要:客戶端直接訪問用戶計算機的文件以前在表單添加了字段是為給開發提供安全的方式以便在客戶端更好訪問用戶的文件字段的基礎上加了一些直接訪問文件信息的接口集合與類型讀取文件的數據集合本地文件的名稱文件的字節大小字符文件的類型文件上次修改的時間實現
file API
客戶端直接訪問用戶計算機的文件,2000以前,在表單添加了字段. file API是為給web開發提供安全的方式,以便在客戶端更好訪問用戶的文件,字段的基礎上加 了一些直接訪問文件信息的接口-files集合.與fileReader類型讀取文件的數據.files集合
name: 本地文件的名稱 size: 文件的字節大小 type: 字符、文件的MIME類型 lastModifiedDate: 文件上次修改的時間(chrome實現了這屬性)fileReader類型
readAsText(file, encoding): 以純文本的方式讀取文件. readAsDataURL(file): 讀取文件并以URL的形式保存在result屬性中. readAsBinaryString(file): 讀取文件并將一個字符串將保存在result屬性中,一個字符 為一個字節. readAsArrayBuffer(file): 讀取文件并將一個包含文件內容的ArrayBuffer保存在 result屬性中. (file-文件集合; encoding-編碼類型)事件
由于數據是異步讀取.因此fileReader提供了幾種事件. progress事件: 每~50ms,便觸發一次. error事件: 但文件無法讀取就會觸發,有個屬性error.code屬性.1表示未找到文件,2表示 安全性錯誤,3表示讀取中斷,4表示文件不可讀,5表示編碼錯誤. load事件: 觸發但文件完整讀取后. 中斷了還會觸發abort事件,在load、error事件后還會觸發loadend事件.栗子
當用戶上傳完圖片之后,可在頁面立即顯示.
//html //js function showFileImg(ele, dist){ const filesList = document.querySelector(ele); const output = document.querySelector(dist); filesList.addEventListener("change", function(event) { //實例fileReader對象 const reader = new FileReader(); //獲取文件集合 let files = event.target.files[0]; if(/image/.test(files.type)){ //讀取文件并通過URL類保存在result里 reader.readAsDataURL(files); //事件 reader.onload = function(){ //獲得圖片數據并插進顯示節點 let html = "" i++; } output.innerHTML = info; } } droptarget.addEventListener("dragenter", handleEvent); droptarget.addEventListener("dragover", handleEvent); droptarget.addEventListener("drop", handleEvent); } dropFile();使用XHR上傳文件
//html //js function xhrFile(){ const file = document.querySelector("#file"); const sendFile = document.querySelector("#sendFile"); //文件信息 let files; //獲得文件信息 function getFileInfo(event){ let files = event.target.files[0]; }; //發送xhr function sendFileXhr(event){ //實例對象 let data = new FormData(); let i = 0; let len = files.length; //遍歷文件信息 while(i < len){ data.append("file" + i, files[i]); i++; } //實例請求對象 let xhr = new XMLHttpRequest(); xhr.open("post", "......php", true); //請求成功打印放回信息 xhr.onreadystatechange = function() { if(xhr.readystate === 4){ alert(xhr.responseText); } } xhr.send(data); }; } xhrFiles()
對象formData可通過鍵值模擬一系列的表單,通過xhr的send提交數據.
formdata appendnew FormData(form? : HTMLFormElement);
給這對象加鍵值
append(name, value, filename);
name: 字段名稱
value: 字段數值
filename: 文件的文件名(可選).
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/82926.html
摘要:客戶端直接訪問用戶計算機的文件以前在表單添加了字段是為給開發提供安全的方式以便在客戶端更好訪問用戶的文件字段的基礎上加了一些直接訪問文件信息的接口集合與類型讀取文件的數據集合本地文件的名稱文件的字節大小字符文件的類型文件上次修改的時間實現 file API 客戶端直接訪問用戶計算機的文件,2000以前,在表單添加了字段. file API是為給web開發提供安全的方式,以便...
摘要:你可以通過在應用程序上下文中添加一個解析器來啟用的處理。當的檢測到一個請求時,它會激活你聲明好的解析器,然后把這個解析器轉交給請求。解析器會把當前的扭曲為一個支持文件上傳的。首先,創建一個帶有的表單,這樣用戶就可以通過這個表單上傳文件了。 ??最近家里的網出現了莫名其妙的問題,連不上碼云了,所以把示例遷到了 github 上。本示例見這個項目的 master 分支的 ZestMulti...
摘要:在做時,不可避免地要上傳一些文件,最常用到的就是圖片。提供電子郵件服務的站點,除了圖片還需要上傳文檔等其他類型文件的功能。當點擊所看到的按鈕時,實際點擊的是原生上傳控件,這樣一來就觸發了瀏覽器默認行為,即打開選擇文件對話框。 在做 Web App 時,不可避免地要上傳一些文件,最常用到的就是圖片。在線相冊及圖片收藏網站等以提供圖片存儲服務的站點自不用說,社交網絡的頭像、發布信息等都需要...
閱讀 1024·2021-10-27 14:15
閱讀 2778·2021-10-25 09:45
閱讀 1942·2021-09-02 09:45
閱讀 3370·2019-08-30 15:55
閱讀 1807·2019-08-29 16:05
閱讀 3204·2019-08-28 18:13
閱讀 3118·2019-08-26 13:58
閱讀 457·2019-08-26 12:01