91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Element組件beforeUpload上傳前限制失效問題怎么解決

發布時間:2023-05-10 15:59:30 來源:億速云 閱讀:235 作者:iii 欄目:開發技術

本篇內容介紹了“Element組件beforeUpload上傳前限制失效問題怎么解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

    Element上傳組件beforeUpload上傳前限制失效

    在before-upload(上傳文件之前的鉤子 參數為上傳的文件 若返回 false 或者返回 Promise 且被 reject 則停止上傳)鉤子里去做判斷 這里有一個坑

    當你設置了 :auto-upload="false" 的時候, 這個鉤子是不會被觸發的,因此也可以在on-change中做判斷。

    beforeUpload(file, fileList) {
       if (file.size / (1024 * 1024) > 500) {  // 限制文件大小
         this.$message.warning(`當前限制文件大小不能大于500M`)
         return false
       }
       
       let suffix = this.getFileType(file.name) //獲取文件后綴名
       let suffixArray = ['jpg', 'png', 'jpeg', 'gif'] //限制的文件類型,根據情況自己定義
       if (suffixArray.indexOf(suffix) === -1) {
         this.$message({
           message: '文件格式錯誤',
           type: 'error',
           duration: 2000
         })
           this.$refs.uploadPhoto.handleRemove(file);
       }
       return suffixArray
     },
     getFileType(name) {
       let startIndex = name.lastIndexOf('.')
       if (startIndex !== -1) {
         return name.slice(startIndex + 1).toLowerCase()
       } else {
         return ''
       }
     }

    element中before-upload不起作用的問題 、on-change上傳文件大小限制

    1、因為設置了:auto-upload="false" 

    :on-change="changeImgClick"方法 和 before-upload 發生了沖突 導致before-upload 方法不起作用

    如果有:auto-upload="false" 屬性就要用:on-change 方法監聽

    2、on-change上傳文件大小限制

    當文件超過20MB的時候讓他提示文件大小不能超過20MB,請重新上傳。

    下面我們來看代碼:

    <el-upload
       class="upload-demo" ref="upload" name="upload" :action="action()"
        :on-change="(file, fileList) => {handleChange(file, fileList, scope);} "
        :on-remove=" (file, fileList) => {handleRemove(file, scope);}"
        :file-list="scope.row.fileList"
        :auto-upload="false"
         >
           <el-button  slot="trigger" size="mini" type="primary" v-if="scope.row.fileList.length == 0" >上傳文件</el-button>
    </el-upload>

    首先在el-upload的:on-change事件里的handleChange的方法中可以獲取上傳文件的大小

    handleChange(file, fileList, scope) {
            //獲取上傳文件大小
          let imgSize = Number(file.size / 1024 / 1024);
     
          if (imgSize > 20) { 
            this.$msgbox({
              title: "",
              message: "文件大小不能超過20MB,請重新上傳。",
              type: "warning",
            });
            this.materialList[scope.$index].fileList.splice(scope.index, 1);
            return;
          } 
     
           //后面可以不用 我自己也沒有用到
          this.text = "上傳中";
            
          this.loading = true;
          this.materialList[scope.$index].fileList.push(file);
          let data = new FormData();
          data.append("files", file.raw);
          uploadFile(data, scope.row.materialName).then((response) => {
            if (response.success) {
              this.loading = false;
              this.listedFiles[scope.$index] = response.result[0].id;
            } else {
              this.loading = false;
              this.msgError(response.message || "操作失敗");
            }
          });
        },

    “Element組件beforeUpload上傳前限制失效問題怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

    向AI問一下細節

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

    AI

    饶平县| 宁化县| 江城| 东乡| 忻州市| 英山县| 辉县市| 连州市| 重庆市| 隆昌县| 云阳县| 儋州市| 建阳市| 邯郸市| 长武县| 措勤县| 封开县| 长治市| 绥江县| 苏尼特右旗| 万安县| 望奎县| 柞水县| 托克托县| 庆云县| 汉沽区| 临汾市| 北海市| 巴青县| 清苑县| 介休市| 连云港市| 偃师市| 抚远县| 同江市| 萝北县| 九台市| 洛隆县| 定陶县| 双辽市| 比如县|