亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用原生JS實現文件上傳

發布時間:2022-07-18 09:35:51 來源:億速云 閱讀:338 作者:iii 欄目:開發技術

本篇內容主要講解“怎么用原生JS實現文件上傳”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用原生JS實現文件上傳”吧!

一、目的:

實現上傳圖片功能

二、效果:

怎么用原生JS實現文件上傳

三、思路:

用input標簽自帶的上傳,先隱藏掉,給上傳按鈕添加點擊事件,綁定input的點擊事件

四、代碼:

//html
<input ref="img-upload-input" class="img-upload-input" type="file" accept=".png, .jpg" @change="submitUpload">
<el-button  type="primary" @click="handleSelectedImg">選擇圖片</el-button>
//js
//點擊上傳按鈕
handleSelectedImg() {
 this.$refs['img-upload-input'].click()
},
 //選好圖片之后點擊打開按鈕
submitUpload(e) {
  const files = e.target.files
  const rawFile = files[0] // only use files[0]
  if (!rawFile) return
  this.upload(rawFile)
},
 //上傳
upload(rawFile) {
   this.$refs['img-upload-input'].value = null // fix can't select the same excel
   if (!this.beforeUpload) {
     return
   }
   //檢查文件是否滿足條件
   const before = this.beforeUpload(rawFile)
   if (before) {
   //上傳事件
     this.uploadSectionFile(this.uploadParams, rawFile)
   }
},
beforeUpload(file) {
   const isLt1M = file.size / 1024 / 1024 < 50

   if (isLt1M) {
     return true
   }
   console.log('上傳文件不超過50M', 'warning')
   return false
},
uploadSectionFile(params, file) {
   let data = params
   let fd = new FormData()// FormData 對象
   let fileObj = file// 相當于input里取得的files
   fd.append('stationID', data.stationID)
   fd.append('date', data.date)
   fd.append('file', fileObj)// 文件對象
   supplementFile(fd).then(res => {
     //調用上傳接口
   })
}

五、注意事項

封裝的請求頭是(后面發現也不一定要配置這個)

'Content-Type': 'multipart/form-data;'

axios request的攔截轉換直接return

transformRequest: [function(data) {
    // 對 data 進行任意轉換處理
    return data
  }],

六、常見問題

1.上傳文件的同時要傳別的參數怎么辦?

可以把參數和文件裝在一個文件對象里面

let fd = new FormData()
fd.append('file', file)//文件
fd.append('param1', param)

2.文件大小的限制問題

1)、前端上傳文件時限制可選文件大小
2)、后端Springboot限制
3)、nginx配置限制,當前端發送請求后端接收不到的時候,可以檢查nginx配置。

到此,相信大家對“怎么用原生JS實現文件上傳”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

星座| 武功县| 商南县| 布尔津县| 九寨沟县| 长泰县| 江油市| 恩平市| 德阳市| 钟祥市| 定陶县| 营口市| 凌源市| 长宁县| 陈巴尔虎旗| 洛川县| 肇州县| 防城港市| 罗田县| 米脂县| 平果县| 琼结县| 珲春市| 屏东市| 盐城市| 蒙阴县| 招远市| 黄陵县| 昂仁县| 合阳县| 江孜县| 东莞市| 吴川市| 郁南县| 衢州市| 伊宁市| 刚察县| 原阳县| 台州市| 临沧市| 南靖县|