vue 附件上传获取附近内容_vue实现文件上传功能
vue 文件上傳,供大家參考,具體內容如下
首先 先說一下想要實現的效果
就如截圖所見,需要將企業和需要上傳的文件提交到后臺處理,那么接下來就說如何實現
vue 實現
vue 頁面代碼
class="upload-demo"
ref="upload"
action="doUpload"
:limit="1"
:file-list="fileList"
:before-upload="beforeUpload">
選取文件
下載模板
只能上傳excel文件,且不超過5MB{{fileName}}取消
確定
上傳之前的大小校驗
beforeUpload(file){
debugger
console.log(file,'文件');
this.files = file;
const extension = file.name.split('.')[1] === 'xls'
const extension2 = file.name.split('.')[1] === 'xlsx'
const isLt2M = file.size / 1024 / 1024 < 5
if (!extension && !extension2) {
this.$message.warning('上傳模板只能是 xls、xlsx格式!')
return
}
if (!isLt2M) {
this.$message.warning('上傳模板大小不能超過 5MB!')
return
}
this.fileName = file.name;
return false // 返回false不會自動上傳
},
手動上傳確認提交
submitUpload() {
debugger
console.log('上傳'+this.files.name)
if(this.fileName == ""){
this.$message.warning('請選擇要上傳的文件!')
return false
}
let fileFormData = new FormData();
fileFormData.append('file', this.files, this.fileName);//filename是鍵,file是值,就是要傳的文件,test.zip是要傳的文件名
let requestConfig = {
headers: {
'Content-Type': 'multipart/form-data'
},
}
this.$http.post(`/basedata/oesmembers/upload?companyId=`+this.company, fileFormData, requestConfig).then((res) => {
debugger
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} 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();
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
總結
以上是生活随笔為你收集整理的vue 附件上传获取附近内容_vue实现文件上传功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c#中计算三角形面积公式_看着有点迷的三
- 下一篇: python数学表达式3+(a+b)2_