首頁 web前端 Vue.js vuejs怎麼實作上傳文件

vuejs怎麼實作上傳文件

Sep 25, 2021 pm 04:09 PM
vuejs

vuejs實作上傳檔案的方法:1、建立vue頁面程式碼;2、透過「beforeUpload(file){...}」方法實作上傳之前的大小校驗;3、實作上傳檔案的相關邏輯即可。

vuejs怎麼實作上傳文件

本文操作環境:Windows7系統、vue2.9.6版,DELL G3電腦。

vuejs怎麼實作上傳檔案?

vue實作檔案上傳功能

vue 檔案上傳,供大家參考,具體內容如下

首先先說一下想要實現的效果

就如截圖所見,需要將企業和需要上傳的檔案提交到後台處理,那麼接下來就說如何實現

vue 實作

vue 頁面程式碼

<el-upload
class="upload-demo"
ref="upload"
action="doUpload"
:limit="1"
:file-list="fileList"
:before-upload="beforeUpload">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<a href="./static/moban.xlsx" rel="external nofollow" download="模板"><el-button size="small" type="success">下载模板</el-button></a>
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
<div slot="tip" class="el-upload__tip">只能上传excel文件,且不超过5MB</div>
<div slot="tip" class="el-upload-list__item-name">{{fileName}}</div>
</el-upload> 
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="submitUpload()">确定</el-button>
</span>
登入後複製

上傳之前的大小校驗

beforeUpload(file){
 debugger
 console.log(file,&#39;文件&#39;);
 this.files = file;
 const extension = file.name.split(&#39;.&#39;)[1] === &#39;xls&#39;
 const extension2 = file.name.split(&#39;.&#39;)[1] === &#39;xlsx&#39;
 const isLt2M = file.size / 1024 / 1024 < 5
 if (!extension && !extension2) {
  this.$message.warning(&#39;上传模板只能是 xls、xlsx格式!&#39;)
  return
 }
 if (!isLt2M) {
  this.$message.warning(&#39;上传模板大小不能超过 5MB!&#39;)
  return
 }
 this.fileName = file.name;
 return false // 返回false不会自动上传
 },
登入後複製

手動上傳確認提交

submitUpload() {
 debugger
 console.log(&#39;上传&#39;+this.files.name)
 if(this.fileName == ""){
  this.$message.warning(&#39;请选择要上传的文件!&#39;)
  return false
 }
 let fileFormData = new FormData();
 fileFormData.append(&#39;file&#39;, this.files, this.fileName);//filename是键,file是值,就是要传的文件,test.zip是要传的文件名
 let requestConfig = {
  headers: {
  &#39;Content-Type&#39;: &#39;multipart/form-data&#39;
  },
 }
 this.$http.post(`/basedata/oesmembers/upload?companyId=`+this.company, fileFormData, requestConfig).then((res) => {
  debugger
  if (data && data.code === 0) {
  this.$message({
  message: &#39;操作成功&#39;,
  type: &#39;success&#39;,
  duration: 1500,
  onClose: () => {
  this.visible = false
  this.$emit(&#39;refreshDataList&#39;)
  }
  })
  } else {
  this.$message.error(data.msg)
  }
 }) 
 }
登入後複製

背景

/**
 * 上传文件
 */
 @PostMapping("/upload")
 @RequiresPermissions("basedata:oesmembers:upload")
 public R upload(@RequestParam("file") MultipartFile file, @RequestParam("companyId") Integer companyId) {
 System.out.println(companyId);
 if (file.isEmpty()) {
  throw new RRException("上传文件不能为空");
 }
 //上传文件 相关逻辑
 
 return R.ok();
}
登入後複製

推薦:《最新的5個vue.js影片教學精選

以上是vuejs怎麼實作上傳文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用Vue.js和Kotlin語言開發安卓應用程式的一些技巧 使用Vue.js和Kotlin語言開發安卓應用程式的一些技巧 Jul 31, 2023 pm 02:17 PM

使用Vue.js和Kotlin語言開發安卓應用程式的一些技巧隨著行動應用的普及和用戶需求的不斷增長,安卓應用的開發越來越受到開發者的關注。在開發安卓應用程式時,選擇合適的技術堆疊至關重要。近年來,Vue.js和Kotlin語言逐漸成為安卓應用程式開發的熱門選擇。本文將介紹使用Vue.js和Kotlin語言開發安卓應用程式的一些技巧,並給出對應的程式碼範例。一、搭建開發環境在開始

使用Vue.js和Python開發資料視覺化應用的一些技巧 使用Vue.js和Python開發資料視覺化應用的一些技巧 Jul 31, 2023 pm 07:53 PM

使用Vue.js和Python開發資料視覺化應用的一些技巧引言:隨著大數據時代的到來,資料視覺化成為了一個重要的解決方案。而在資料視覺化應用的開發中,Vue.js和Python的組合能夠提供靈活性和強大的功能。本文將分享一些使用Vue.js和Python開發資料視覺化應用的技巧,並附上對應的程式碼範例。一、Vue.js簡介Vue.js是一款輕量級的JavaSc

Vue.js與Objective-C語言的集成,開發可靠的Mac應用的技巧和建議 Vue.js與Objective-C語言的集成,開發可靠的Mac應用的技巧和建議 Jul 30, 2023 pm 03:01 PM

Vue.js與Objective-C語言的集成,開發可靠的Mac應用的技巧和建議近年來,隨著Vue.js在前端開發中的普及和Objective-C在Mac應用開發中的穩定性,開發者們開始嘗試將這兩者結合起來,以開發出更可靠和高效的Mac應用程式。本文將介紹一些技巧和建議,幫助開發者正確整合Vue.js和Objective-C,並開發出高品質的Mac應用。一

Vue.js與Lua語言的融合,建構遊戲開發的前端引擎的最佳實踐和經驗分享 Vue.js與Lua語言的融合,建構遊戲開發的前端引擎的最佳實踐和經驗分享 Aug 01, 2023 pm 08:14 PM

Vue.js與Lua語言的融合,建構遊戲開發的前端引擎的最佳實踐和經驗分享引言:隨著遊戲開發的不斷發展,遊戲前端引擎的選擇成為了一個重要的決策。在這些選擇中,Vue.js框架和Lua語言都成為了眾多開發者的關注點。 Vue.js作為一款受歡迎的前端框架具有豐富的生態系統和便捷的開發方式,而Lua語言則因其輕量級和高效性能在遊戲開發中得到廣泛應用。本文將探討如何將

如何使用PHP和Vue.js實現圖表上的資料篩選和排序功能 如何使用PHP和Vue.js實現圖表上的資料篩選和排序功能 Aug 27, 2023 am 11:51 AM

如何使用PHP和Vue.js實現圖表上的資料篩選和排序功能在網頁開發中,圖表是一種非常常見的資料展示方式。使用PHP和Vue.js可以輕鬆實現圖表上的資料篩選和排序功能,使用戶能夠自訂查看圖表上的數據,提高資料的視覺化效果和使用者體驗。首先,我們需要準備一組資料供圖表使用。假設我們有一個資料表格,包含姓名、年齡和成績三列,資料如下:姓名年齡成績張三1890李

使用Vue.js和Perl語言開發高效的網路爬蟲和資料抓取工具 使用Vue.js和Perl語言開發高效的網路爬蟲和資料抓取工具 Jul 31, 2023 pm 06:43 PM

使用Vue.js和Perl語言開發高效的網路爬蟲和資料抓取工具近年來,隨著網路的快速發展和資料的日益重要,網路爬蟲和資料抓取工具的需求也越來越大。在這個背景下,結合Vue.js和Perl語言開發高效率的網路爬蟲和資料抓取工具是個不錯的選擇。本文將介紹如何使用Vue.js和Perl語言開發這樣一個工具,並附上對應的程式碼範例。一、Vue.js和Perl語言的介

Vue.js與Dart語言的集成,建構酷炫的行動應用UI介面的實踐與開發技巧 Vue.js與Dart語言的集成,建構酷炫的行動應用UI介面的實踐與開發技巧 Aug 02, 2023 pm 03:33 PM

Vue.js與Dart語言的集成,建構酷炫的行動應用UI介面的實踐與開發技巧引言:在行動應用開發中,使用者介面(UI)的設計與實作是非常重要的一部分。為了能夠實現酷炫的行動應用程式介面,我們可以將Vue.js與Dart語言進行集成,借助Vue.js的強大資料綁定和組件化特性,以及Dart語言的豐富的行動應用開發庫,來構建出令人驚豔的行動應用UI介面。本文將介紹如何

如何使用Vue實現仿QQ聊天氣泡特效 如何使用Vue實現仿QQ聊天氣泡特效 Sep 20, 2023 pm 02:27 PM

如何使用Vue實現仿QQ聊天氣泡特效在現今的社交時代,聊天功能已成為了手機應用程式和網頁應用程式的核心功能之一。而聊天介面中最常見的元素之一就是聊天氣泡,它可以清楚地將發送者和接收者的訊息區分開來,有效地提高了訊息的可讀性。本文將介紹如何使用Vue實現仿QQ聊天氣泡特效,以及提供具體的程式碼範例。首先,我們需要建立一個Vue元件來表示聊天氣泡。組件包含兩個主要部分

See all articles