国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue Element ui Upload組件在上傳文件時,動態(tài)切換 action上傳路徑

這篇具有很好參考價值的文章主要介紹了Vue Element ui Upload組件在上傳文件時,動態(tài)切換 action上傳路徑。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

當我們在使用 Element ui,Upload組件時,官網(wǎng)默認的基礎配置如下

<el-upload
  class="avatar-uploader"
  action="https://jsonplaceholder.typicode.com/posts/"  //這里目前是寫死的上傳路徑
  :show-file-list="false"  //上傳文件列表
  :on-success="handleAvatarSuccess"  //上傳成功后的回調(diào)函數(shù)
  :before-upload="beforeAvatarUpload">  //上傳文件之前的的回調(diào)函數(shù)
   <el-button size="small" type="primary">點擊上傳</el-button>
</el-upload>

現(xiàn)在的需求是,如果頁面只有 一個 el-upload組件,需要上傳的文件,根據(jù)不同的類型,切換不同的action 上傳路徑。

首先我這里選擇,通過調(diào)用 before-upload 上傳文件之前的鉤子函數(shù),函數(shù)接收一個參數(shù),就是上傳的文件信息,然后判斷文件的類型,如果上傳的是視頻文件,那么就,動態(tài)重寫 action 的上傳路徑,如果是圖片或者音頻,同樣的動態(tài)寫入相應的上傳路徑。

官網(wǎng)中,對上傳文件之前的鉤子函數(shù),官網(wǎng)這里的描述,可能會讓大家產(chǎn)生誤導(官網(wǎng)沒錯,只是有的小伙伴理解錯了)。結合描述查看下面有問題的錯誤寫法。
Vue Element ui Upload組件在上傳文件時,動態(tài)切換 action上傳路徑

錯誤寫法:

<el-upload
  class="avatar-uploader"
  :action="AudioAndVideoPath"  //現(xiàn)在這里動態(tài)綁定地址參數(shù)
  :show-file-list="false"  //上傳文件列表
  :on-success="handleAvatarSuccess"  //上傳成功后的回調(diào)函數(shù)
  :before-upload="beforeAvatarUpload">  //上傳文件之前的的回調(diào)函數(shù)
   <el-button size="small" type="primary">點擊上傳</el-button>
</el-upload>

<script>
import { url } from '../../../api/Globaladdress/index'; //我這里導入全局地址總路徑
export default {
 data() {
    return {
        url,   //全局地址
        AudioAndVideoPath: ``  //音視頻上傳動態(tài)路徑
    }
 },
methods:{
 beforeAvatarUpload(file) {   //上傳文件之前的函數(shù)
      console.log(file);   //接收上傳的文件信息
      const isvideo = file.type === 'video/mp4';  //視頻格式,查看上傳的文件是不是視頻或者音頻文件格式,拿到一個Booleans 值
      const isaudio = file.type === 'audio/mpeg';  //音頻格式
      if (isvideo) {  //判斷如果isvideo等于true,代表,滿足要求是視頻格式。
             this.AudioAndVideoPath = this.url + "/upload/fileVideo";  //我這里采用字符串拼接,動態(tài)重寫文件上傳路徑,這里的路徑是專門上傳視頻的。
             return isvideo ;//(官網(wǎng)描述:如果返回false,就終止上傳,那么這里,isvideo 能夠進到if判斷,就肯定為 true,按官網(wǎng)描述推理,如果返回true,就不會終止上傳)
      } else if (isaudio) {  //判斷是否滿足音頻格式,如果滿足,動態(tài)重寫,上傳音頻時的路徑
           this.AudioAndVideoPath = this.url + "/upload/fileAudio";
           return isaudio ;//(上面描述同理)
       } else {   //如果上傳文件不滿足規(guī)定格式,再返回 false ,并提示,終止上傳,不用配置上傳路徑。
            this.$message({
               message: '上傳格式不準確!請上傳視頻或音頻格式文件',
                  type: 'warning',
                  duration: 6000
                });
                return false ;//都不滿足,再返回false終止上傳。
            }
       },
       handleAvatarSuccess(response, file, fileList){   //上傳成功后的回調(diào)函數(shù)(錯誤寫法這里這里不會執(zhí)行)
             console.log(response, file, fileList);
       }
    }
}
</script>

上述錯誤寫法,會造成,跨域或重定向問題,錯誤代碼404,因為上述錯誤寫法,在我的 beforeAvatarUpload 鉤子函數(shù)還沒,執(zhí)行的時候 ,Upload 組件中 action 路徑方法已經(jīng)調(diào)用了,而這時候,action 的動態(tài)路徑還沒有定義,所以,他會提示找不到路徑,可能會導航到當前頁面的本地地址,然后報錯404。
Vue Element ui Upload組件在上傳文件時,動態(tài)切換 action上傳路徑

正確寫法如下:首先把 action動態(tài)綁定

<el-upload
  class="avatar-uploader"
  :action="AudioAndVideoPath"  //現(xiàn)在這里動態(tài)綁定地址參數(shù)
  :show-file-list="false"  //上傳文件列表
  :on-success="handleAvatarSuccess"  //上傳成功后的回調(diào)函數(shù)
  :before-upload="beforeAvatarUpload">  //上傳文件之前的的回調(diào)函數(shù)
   <el-button size="small" type="primary">點擊上傳</el-button>
</el-upload>

<script>
import { url } from '../../../api/Globaladdress/index' ;//我這里導入全局地址總路徑
export default {
 data() {
    return {
        url,   //全局地址
        AudioAndVideoPath: ``  //音視頻上傳動態(tài)路徑
    }
 },
methods:{
 beforeAvatarUpload(file) {   //上傳文件之前的函數(shù)
      console.log(file);   //接收上傳的文件信息
      const isvideo = file.type === 'video/mp4';  //視頻格式,查看上傳的文件是不是視頻或者音頻文件格式,拿到一個Booleans 值
      const isaudio = file.type === 'audio/mpeg';  //音頻格式
      if (isvideo) {  //判斷如果isvideo等于true,代表,滿足要求是視頻格式,返回一個 Promise 對象
         return new Promise((resolve) => {
             this.$nextTick(() => {
             this.AudioAndVideoPath = this.url + "/upload/fileVideo";  //我這里采用字符串拼接,動態(tài)重寫文件上傳路徑,這里的路徑是專門上傳視頻的。
               resolve();
             })
         })
      } else if (isaudio) {  //判斷是否滿足音頻格式,如果滿足,動態(tài)重寫,上傳音頻時的路徑
           return new Promise((resolve) => {
               this.$nextTick(() => {
                  this.AudioAndVideoPath = this.url + "/upload/fileAudio";
                    resolve();
               })
           })
       } else {   //如果上傳文件不滿足規(guī)定格式,則返回 false ,并提示,終止上傳,不用配置上傳路徑。
            this.$message({
               message: '上傳格式不準確!請上傳視頻或音頻格式文件',
                  type: 'warning',
                  duration: 6000
                });
                return false;
            }
       },
       handleAvatarSuccess(response, file, fileList){   //上傳成功后的回調(diào)函數(shù)
             console.log(response, file, fileList);
       }
    }
}
</script>

上面就是我遇到的問題,以及解決方法,供大家參考。文章來源地址http://www.zghlxwxcb.cn/news/detail-509426.html

到了這里,關于Vue Element ui Upload組件在上傳文件時,動態(tài)切換 action上傳路徑的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • vue前端直接使用element-ui的upload組件上傳到阿里云OSS存儲

    vue前端直接使用element-ui的upload組件上傳到阿里云OSS存儲

    因為公司的服務器比較拉吧,所以老大決定將數(shù)據(jù)文件等上傳到阿里云服務器,通過ali-oss方式,這樣的話讀取文件也比較快? (能看到這說明什么安裝element-ui都會了,我就不詳細介紹了,直接跳過)? 在執(zhí)行下面操作之前,你要確定你的阿里云能看到上邊這個頁面? ?這里主

    2024年02月10日
    瀏覽(37)
  • 擴展element-ui el-upload組件,實現(xiàn)復制粘貼上傳圖片文件,帶圖片預覽功能

    擴展element-ui el-upload組件,實現(xiàn)復制粘貼上傳圖片文件,帶圖片預覽功能

    控件改造 在窗口的 el-form 控件參數(shù)中添加 @paste.native 事件,事件綁定方法名 handlePaste 也可以在其他控件中添加事件監(jiān)聽,看個人需求。 注意: 監(jiān)聽粘貼事件時,需要當前頁面先獲取焦點,否則無法正常監(jiān)聽, 可以在頁面加載后調(diào)用 focus() 獲取焦點 粘貼功能Js部分參考資料

    2023年04月08日
    瀏覽(124)
  • Element-UI 多個el-upload組件自定義上傳,不用上傳url,并且攜帶自定義傳參(文件序號)
  • element-ui upload圖片上傳組件使用

    element-ui upload圖片上傳組件使用

    圖片上傳前端收集 數(shù)據(jù) 再調(diào)用接口發(fā)送到后端 組件標簽內(nèi)的參數(shù): 參數(shù) 說明 類型 可選值 默認值 action 必選參數(shù),上傳的地址 string — — headers 設置上傳的請求頭部 object — — multiple 是否支持多選文件 boolean — — data 上傳時附帶的額外參數(shù) object — — name 上傳的文件字段

    2023年04月19日
    瀏覽(26)
  • (實戰(zhàn)-改bug)element ui Upload組件 上傳一次后,再次點擊上傳 沒反應

    ?今日修改bug時,上傳組件點擊上傳,上傳成功后,再次點擊上傳,沒有反應,二次上傳時http-request的方法沒有進入。 原因是:第一次上傳文件后,瀏覽器還保存著我們已經(jīng)上傳的文件,所以要想繼續(xù)上傳文件,就需要在on-success鉤子函數(shù)中通過ref 拿到它的document元素進行清除

    2024年02月03日
    瀏覽(26)
  • Element-UI的Upload 上傳文件

    Element-UI的Upload 上傳文件

    \\\"element-ui\\\": \\\"^2.15.9\\\" Upload 上傳官方文檔 2.1 自動上傳 限制一次只能上傳一個文件,并判斷上傳的文件大小及文件類型; 自動上傳:即選擇文件后即開始校驗,校驗通過后調(diào)接口上傳到服務器 2.2 手動上傳 限制一次只能上傳一個文件,并判斷上傳的文件大小及文件類型; 手動上

    2024年02月11日
    瀏覽(22)
  • Element-ui upload 手動上傳文件

    (隨手一發(fā),可以拿過來就用,不做解釋看不懂的可以照搬,??代碼可復制??) ? ?

    2024年02月11日
    瀏覽(25)
  • 【element-ui組件】一.圖像組件;二.導航菜單(NavMenu);三.上傳組件:Upload;四.分頁組件

    目錄 一.圖像組件 二.導航菜單(NavMenu) 1.導航方向:通過model屬性來設置 2.菜單項: 三.上傳組件:Upload 四.分頁組件 1.實現(xiàn)分頁的方式: (1)服務器端分頁:通過底層的數(shù)據(jù)庫來實現(xiàn),前端會頻繁的和服務器交互,客戶端每次請求的是分頁的數(shù)據(jù)而不是所有數(shù)據(jù)

    2023年04月24日
    瀏覽(23)
  • 使用element-ui的Upload 上傳文件

    使用element-ui的Upload 上傳文件

    使用Upload 進行文件上傳 https://element.eleme.cn/#/zh-CN/component/upload 注:當文件和一些其他數(shù)據(jù)(姓名,年齡)進行一起上傳時候可分為兩種過程 第一種:單獨的文件上傳地址,上傳完文件后,后端返回該文件的地址,前端將該地址同其他數(shù)據(jù)(姓名,年齡)再次上傳。 第二種:

    2024年02月12日
    瀏覽(25)
  • Element UI | Upload 使用submit方法手動上傳文件

    點擊上傳文件按鈕不立刻進行上傳,而是點擊提交后再調(diào)用上傳接口,和表單一起提交。 js:? 判斷文件沒有上傳即先進行文件上傳,上傳文件成功后在調(diào)用表單上傳接口,否則直接調(diào)用接口上傳表單。submit為element ui內(nèi)部方法。表單上傳接口一般傳遞文件id。

    2024年02月15日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包