### 文件上傳- 利用 input 標籤設置 type="file" 打開本地的資源管理器;- input 標籤的 accept 屬性可以設置上傳什麼類型的文件;accept 屬性並不會驗證選中文件的類型. 他只是為開發這提供了一種引導用戶做出期望行為的方式而已, 用戶還是有辦法繞過瀏覽器的限制.- input file 標籤一般對應著一個上傳文件;- input 標籤的 multiple 屬性設置該欄位可接受多個上傳文件;- input 選擇完文件後標籤的 target.files 中存在當前選中的文件內容(信息),此時也可以進行判斷上傳文件類型及上傳文件大小等;#### html5的FileReader()讀取文件
### 批量上傳#### 單選文件批量上傳每個按鈕只選擇一個文件渲染到上傳列表再進行批量上傳##### 單選文件1. 創建input file按鈕,彈窗選擇文件;2. 選擇文件後拿到文件名追加到上傳文件列表;3. 在創建一個新的 input file按鈕,隱藏之前的已存儲文件的按鈕;4. 把隱藏的input數據放入內存要上傳的數據列表list中##### 批量上傳1. new 一個formData 2. 構建文件表數組,放入fornData 的 batchUploadEdocReq 中3. 通過上傳列表找到所有上傳信息4. 遍歷 input file ,把他們的file[0]放入formData 的fileList中5. 發送 ajax 請求,把 formData 放入到 data 中6. 注意設置: contartType = false; processData = false;```this.accompanyingDecumAjaxObj = { decId : this.id, edocList : this.List } var formData = new FormData(); formData.append('batchUploadEdocReq',JSON.stringify(this.accompanyingDecumAjaxObj)) for(let i=0; i< this.imputFileListInfo.length; i++){ formData.append('fileList',this.imputFileListInfo[i][0]); } var _this = this; var ajaxUrl = "URL"; $.ajax({ type : "POST", url : ajaxUrl, data : formData, cache : false, timeout: 120000, contentType : false, processData : false, success : function(data) { }, error : function(data) { } }); }```#### 多選文件批量上傳