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

element-ui中使用upload組件獲取上傳文件信息

 更新時(shí)間:2023年07月18日 16:01:47   作者:考拉菜鳥  
這篇文章主要介紹了element-ui中使用upload組件獲取上傳文件信息方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1.使用htttp-request自定義上傳

在這里插入圖片描述

使用element-ui中的上傳組件,upload,這個(gè)默認(rèn)發(fā)送post請(qǐng)求,

在使用upload組件自動(dòng)攜帶的請(qǐng)求方式發(fā)送

  • action->請(qǐng)求的url
  • on-success->請(qǐng)求發(fā)送成功的鉤子–方法function(response, file, fileList)默認(rèn)參數(shù)3個(gè)
  • auto-upload->是否在選取文件后立即進(jìn)行上傳,默認(rèn)是true(選取文件即上傳)
  • name->上傳的文件字段名,默認(rèn)值file,后臺(tái)有時(shí)候需要發(fā)送別的字段名如image就這修改
  • data->上傳時(shí)附帶的額外參數(shù)object
  • disabled->是否禁用,默認(rèn)false
  • http-request->覆蓋默認(rèn)的上傳行為,可以自定義上傳的實(shí)現(xiàn)–方法(當(dāng)請(qǐng)求方式不為post可以自定義方式)

下面是兩個(gè)例子

1.使用upload默認(rèn)請(qǐng)求方式post發(fā)送提交圖片請(qǐng)求

后臺(tái)要求文件字段image

在這里插入圖片描述

在這里插入圖片描述

在文件上傳成功后,可以從response的data屬性獲取圖片在服務(wù)器上的路徑,文件的具體信息在file.raw中

在這里插入圖片描述

2.使用upload上傳文件,發(fā)送patch請(qǐng)求數(shù)據(jù)

需要使用http-request鉤子由于覆蓋了其默認(rèn)請(qǐng)求,updateImg中異步請(qǐng)求攜帶了路徑,action中就隨便放了個(gè)網(wǎng)址,action是必傳參數(shù)

在這里插入圖片描述

http-reques鉤子有個(gè)默認(rèn)參數(shù),val.file可以獲取文件數(shù)據(jù)信息

在這里插入圖片描述

在這里插入圖片描述

2.使用手動(dòng)上傳

需求背景

有個(gè)form表單,通過(guò)上傳組件獲取上傳文件信息,點(diǎn)擊彈窗的確定按鈕后,接口統(tǒng)一進(jìn)行上傳;

限制上傳zip類型文件,不超過(guò)10M,限制選擇1個(gè)zip包

在這里插入圖片描述

在這里插入圖片描述

<!-- 文件上傳-->
<el-form :rules="rules" :model="dataForm" ref="dataForm" label-width="150px" @submit.native.prevent>
      <el-form-item label="名稱:" prop="name">
        <el-input type="text" v-model.trim="dataForm.name" clearable></el-input>
      </el-form-item>
      <el-form-item label="文件:" prop="file" >
        <el-upload
            class="upload-import"
            ref="uploadImport"
            action="https://baidu.com/" <!-- 手動(dòng)上傳, action隨便給了個(gè)地址-->
            :on-remove="handleRemove"
            :file-list="fileList"
            :limit="1" <!-- 限制上傳數(shù)量-->
            :on-change="handleChange"
            :auto-upload="false"	<!-- 關(guān)閉自動(dòng)上傳-->
            accept="application/zip,.zip">  <!-- 設(shè)置接收的文件類型-->
            <!-- el-upload組件,在手動(dòng)上傳時(shí),禁用按鈕外, 還需要設(shè)置    :disabled="hasFile"   為true禁用該組件,會(huì)導(dǎo)致上傳列表也被禁用,無(wú)法刪除,因此使用v-show,文件數(shù)量為1時(shí),顯示禁用的的按鈕, slot不綁定trigger事件 --> 
          <el-button v-show="!hasFile" slot="trigger" size="small" type="primary" >選取文件</el-button>
          <el-button v-show="hasFile"  size="small" type="primary" disabled>選取文件</el-button>
          <div slot="tip" class="el-upload__tip">只能上傳zip文件,且不超過(guò)10M</div>
        </el-upload>
      </el-form-item>
 </el-form>
<script>
export default {
	data(){
		return {
			dataForm: {
	          name: '',
	          file: null
	        },
	        rules: {
	          name: [
	            {required: true, message: "請(qǐng)輸入名稱", trigger: "blur"},
	            {max: 50, message: "最長(zhǎng)可輸入50個(gè)字符", trigger: "blur"},
	            {validator: isvalidatName, trigger: "blur" },
	          ],
	          file: [
	            {required: true, message: "請(qǐng)選擇上傳文件", trigger: "blur"},
	          ]
        },
        hasFile: false,
        fileList: []
	},
	methods: {
		 handleRemove(file, fileList) {
	        if (!fileList.length) {
	          this.hasFile = false;
	        }
	        this.dataForm.file = null;
	      },
	      handleChange(file, fileList) {
    	    if (fileList.length >= 2) {
	          return;
	        }
	        if (fileList.length === 1) {
	          this.hasFile = true;
	        }
	        this.dataForm.file = file;
	      },
	      //確定按鈕
	      onSureHandle(){
				this.$refs.dataForm.validate(valid => {
					if(valid){
						let dataPar = this.dataForm;
						let fdParams = new FormData();
						fdParams.append('name', dataPar.name);
						fdParams.append('file', dataPar.file.raw);
					axios.post('/interface/importProject', fdParams, {
							headers: {'Content-Type': 'multipart/form-data'},//定義內(nèi)容格式,很重要
							timeout: 20000,
						}).then(response => {
							//...some logic
						}).catch(err =>{})						
					}
				})
		  }
	}
}
</script>
      ```

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 快速處理vue渲染前的顯示問(wèn)題

    快速處理vue渲染前的顯示問(wèn)題

    下面小編就為大家分享一篇快速處理vue渲染前的顯示問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • vue中使用elementUI自定義校驗(yàn)及點(diǎn)擊提交不生效問(wèn)題解決辦法

    vue中使用elementUI自定義校驗(yàn)及點(diǎn)擊提交不生效問(wèn)題解決辦法

    我們?cè)陧?xiàng)目中經(jīng)常會(huì)用到ElementUI的表單驗(yàn)證,下面這篇文章主要給大家介紹了關(guān)于vue中使用elementUI自定義校驗(yàn)及點(diǎn)擊提交不生效問(wèn)題解決的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Vue中使用a標(biāo)簽下載靜態(tài)資源文件(如excel、pdf等)純前端操作方法

    Vue中使用a標(biāo)簽下載靜態(tài)資源文件(如excel、pdf等)純前端操作方法

    這篇文章主要介紹了Vue中使用a標(biāo)簽下載靜態(tài)資源文件(如excel、pdf等)純前端操作方法的相關(guān)資料,需要的朋友可以參考下
    2025-02-02
  • 詳解uniapp的生命周期

    詳解uniapp的生命周期

    這篇文章主要介紹了uniapp的生命周期,應(yīng)用生命周期是指應(yīng)用程序從啟動(dòng)到關(guān)閉的整個(gè)過(guò)程,包括應(yīng)用程序的啟動(dòng)、前后臺(tái)切換、退出等,需要的朋友可以參考下
    2023-04-04
  • Vue3中嵌套路由和編程式路由的實(shí)現(xiàn)

    Vue3中嵌套路由和編程式路由的實(shí)現(xiàn)

    Vue?Router在Vue.js的核心庫(kù)上提供了路由的功能,使得我們可以在單頁(yè)應(yīng)用中實(shí)現(xiàn)頁(yè)面的切換、跳轉(zhuǎn)和參數(shù)傳遞等功能,本文主要介紹了Vue3中嵌套路由和編程式路由的實(shí)現(xiàn),感興趣的可以了解一下
    2023-12-12
  • vue3日歷控件的具體實(shí)現(xiàn)

    vue3日歷控件的具體實(shí)現(xiàn)

    日歷在很多地方都可以使用的到,本文主要介紹了vue3日歷控件的具體實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Vue3中使用pinia的示例代碼

    Vue3中使用pinia的示例代碼

    這篇文章主要介紹了Vue3中使用pinia,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • vue移動(dòng)端彈框組件的實(shí)例

    vue移動(dòng)端彈框組件的實(shí)例

    今天小編就為大家分享一篇vue移動(dòng)端彈框組件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue中v-for數(shù)據(jù)狀態(tài)值變了,但是視圖沒(méi)改變的解決方案

    vue中v-for數(shù)據(jù)狀態(tài)值變了,但是視圖沒(méi)改變的解決方案

    這篇文章主要介紹了vue中v-for數(shù)據(jù)狀態(tài)值變了,但是視圖沒(méi)改變的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 使用vue2實(shí)現(xiàn)帶地區(qū)編號(hào)和名稱的省市縣三級(jí)聯(lián)動(dòng)效果

    使用vue2實(shí)現(xiàn)帶地區(qū)編號(hào)和名稱的省市縣三級(jí)聯(lián)動(dòng)效果

    我們知道省市區(qū)縣都有名稱和對(duì)應(yīng)的數(shù)字唯一編號(hào),使用編號(hào)可以更方便查詢以及程序處理,我們今天來(lái)了解一下使用vue2來(lái)實(shí)現(xiàn)常見(jiàn)的省市區(qū)下拉聯(lián)動(dòng)選擇效果,需要的朋友可以參考下
    2018-11-11

最新評(píng)論