欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

elementUI自定義上傳文件功能實現(xiàn)(前端后端超詳細過程)

 更新時間:2022年11月11日 14:51:53   作者:讀秀  
自定義上傳思路很簡單,下面這篇文章主要給大家介紹了關于elementUI自定義上傳文件功能實現(xiàn)(前端后端超詳細過程)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

簡介:

自定義上傳文件并與其他參數(shù)一同提交到后臺(主要使用axios)

1.簡單介紹組件( upload)的屬性(熟悉參數(shù)的直接略過)

總結(jié)elmentUI一下它的使用和常用屬性的作用。

limit : 限制了上傳文件的個數(shù) , 如果你上傳單個文件這里設置 1 ,多個文件就別設置。

auto-upload:自動上傳,在我看來,除非是單獨上傳文件時,
這個屬性才有用,因為單獨文件直接上傳到后臺服務器。
而我們想要自己獲取到組件里的文件和其它表單數(shù)據(jù),再上傳,就需要別的辦法,下面會講。

action:這個屬性是上傳文件的地址,當我們指定了 auto-upload 屬性,
組件就會自動按 action 的地址提交。我一般都不設置這個屬性:action="none", 
因為我覺得自定義的更好,拓展性強。

multiple:這個屬性支持多文件上傳,如果你是上傳單文件這個屬性隨便設不設置,如果是多文件,就要設置,所以建議不動,因為它默認開啟。

accept:這個就不細說了,限制類型的,當然僅限選擇時的類型,用戶要是想上傳其它類型的文件照樣有辦法。

2.主要目的自定義上傳文件

2.1 組件代碼

<el-upload class="upload"
                 ref="upload"
                 action="string"
                 :file-list="fileList"	//存放選擇的文件
                 :auto-upload="false"	//取消自動上傳		
                 :http-request="uploadFile"		自定義上傳的方法
                 :on-change="handleChange"	//文件選擇后執(zhí)行的方法
                 :on-preview="handlePreview"	//點擊顯示文件(沒啥用)
                 :on-remove="handleRemove"	//移除文件
                 multiple="multiple">	
        <el-button slot="trigger"
                   size="small"
                   type="primary"
                   @click="delFile">選取文件</el-button>
      </el-upload>

2.2 data中的屬性

data(){
    return{
	// el-upload組件綁定的屬性—— :file-list=“fileList”,渲染后fileList[index]是Object類型,而不是后臺所需的File類型,
      // 而這個組件已經(jīng)把對應的File類型存儲到了fileList[index].raw這個屬性里,直接拿來用就好.
      fileList: [],
      // 不支持多選
      multiple: false,
      formData: "",
    }
}

2.3 methods的方法

    //點擊上傳文件觸發(fā)的額外事件,清空fileList
    delFile () {
      this.fileList = [];
    },
    handleChange (file, fileList) {
      this.fileList = fileList;
      // console.log(this.fileList, "sb");
    },
    //自定義上傳文件
    uploadFile (file) {
      this.formData.append("file", file.file);
      // console.log(file.file, "sb2");
    },
    //刪除文件
    handleRemove (file, fileList) {
      console.log(file, fileList);
    },
    // 點擊文件
    handlePreview (file) {
      console.log(file);
    },

3.與其他參數(shù)通過axios提交到后臺

這里要使用到FormData()對文件進行存儲才能提交到后臺

具體實現(xiàn)方式:

//準備一個提交按鈕
<el-button type="primary"
                     @click="onSubmit">保存</el-button>

提交事件:

//保存按鈕
    onSubmit () {
        let formData = new FormData();
        formData.append("file", this.fileList[0].raw);//拿到存在fileList的文件存放到formData中
       //下面數(shù)據(jù)是我自己設置的數(shù)據(jù),可自行添加數(shù)據(jù)到formData(使用鍵值對方式存儲)
        formData.append("title", this.title);

axios異步提交:

注意:使用FormData提交文件只能使用post請求

在post請求體中需要設置 “Content-Type”:
“multipart/form-data;charset=utf-8”,提醒后臺數(shù)據(jù)是FormData類型

axios.post(post請求的具體路徑, formData, {
        "Content-Type": "multipart/form-data;charset=utf-8"
      })
        .then(res => {
          if (res.data === "SUCCESS") {
            this.$notify({
              title: '成功',
              message: '提交成功',
              type: 'success',
              duration: 1000
            });
          }
        })

最后后臺數(shù)據(jù)的接收

注意:前臺傳送的是FormData數(shù)據(jù),要拿到文件要使用@RequestParam(前端存放到formData的key)
MultipartFile file進行接收

//采用PostMapping
    @PostMapping(具體路徑)
    public String saveVue(String title,@RequestParam("file") MultipartFile file) throws IOException {
       	//拿到具體文件 file
            return "SUCCESS";
    }

介紹到這就基本完成了elmentui的自定義上傳功能!

總結(jié)

到此這篇關于elementUI自定義上傳文件功能實現(xiàn)的文章就介紹到這了,更多相關elementUI自定義上傳文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue-admin-template框架搭建及應用小結(jié)

    vue-admin-template框架搭建及應用小結(jié)

    ?vue-admin-template是基于vue-element-admin的一套后臺管理系統(tǒng)基礎模板(最少精簡版),可作為模板進行二次開發(fā),這篇文章主要介紹了vue-admin-template框架搭建及應用,需要的朋友可以參考下
    2023-05-05
  • Vue表單數(shù)據(jù)修改與刪除功能實現(xiàn)

    Vue表單數(shù)據(jù)修改與刪除功能實現(xiàn)

    本文通過實例代碼介紹了Vue表單數(shù)據(jù)修改與刪除功能實現(xiàn),結(jié)合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友跟隨小編一起看看吧
    2023-10-10
  • Vue實現(xiàn)手機橫屏效果的代碼示例

    Vue實現(xiàn)手機橫屏效果的代碼示例

    有時候一些頁面希望在手機上可以實現(xiàn)橫屏的效果,比如播放頁面,所以本文我們講給大家介紹Vue如何實現(xiàn)手機橫屏效果,文章通過代碼示例介紹的非常詳細,感興趣的同學跟著小編一起來看看吧
    2023-08-08
  • flutter使用tauri實現(xiàn)一個一鍵視頻轉(zhuǎn)4K軟件

    flutter使用tauri實現(xiàn)一個一鍵視頻轉(zhuǎn)4K軟件

    這篇文章主要為大家介紹了flutter使用tauri實現(xiàn)一個一鍵視頻轉(zhuǎn)4K軟件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • element-ui中table組件的toggleRowSelection()方法使用

    element-ui中table組件的toggleRowSelection()方法使用

    這篇文章主要介紹了element-ui中table組件的toggleRowSelection()方法使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue里的data要用return返回的原因淺析

    vue里的data要用return返回的原因淺析

    這篇文章主要介紹了vue里的data要用return返回的原因淺析,需要的朋友可以參考下
    2019-05-05
  • vue+vuex+json-seiver實現(xiàn)數(shù)據(jù)展示+分頁功能

    vue+vuex+json-seiver實現(xiàn)數(shù)據(jù)展示+分頁功能

    這篇文章主要介紹了vue+vuex+json-seiver實現(xiàn)數(shù)據(jù)展示+分頁功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • van-uploader保存文件到后端回顯后端接口返回的數(shù)據(jù)

    van-uploader保存文件到后端回顯后端接口返回的數(shù)據(jù)

    前端開發(fā)想省時間就是要找框架呀,下面這篇文章主要給大家介紹了關于van-uploader保存文件到后端回顯后端接口返回的數(shù)據(jù),文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • vue里面父組件修改子組件樣式的方法

    vue里面父組件修改子組件樣式的方法

    下面小編就為大家分享一篇vue里面父組件修改子組件樣式的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • Vue動畫事件詳解及過渡動畫實例

    Vue動畫事件詳解及過渡動畫實例

    通過 Vue.js 的過渡系統(tǒng),可以在元素從 DOM 中插入或移除時自動應用過渡效果。Vue.js 會在適當?shù)臅r機為你觸發(fā) CSS 過渡或動畫,你也可以提供相應的 JavaScript 鉤子函數(shù)在過渡過程中執(zhí)行自定義的 DOM 操作
    2019-02-02

最新評論