我是靠谱客的博主 单薄帆布鞋,最近开发中收集的这篇文章主要介绍使用elementui实现表单上传功能_elementUI实现自定义上传文件并携带参数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

vue代码

ref="upload"

action="/api/iot/deviceInfo/uploadFiles"

:before-upload="beforeUploadHandle"

:on-success="handleSuccess"

:auto-upload="false"

multiple

:limit="2"

:on-exceed="handleExceed"

:file-list="fileList">

添加文档或视频

js代码

// 上传之前

beforeUploadHandle(file) {

// 校验格式

if (

file.type !== "video/mp4" &&

file.type !== "application/msword" &&

file.type !==

"application/vnd.openxmlformats-officedocument.wordprocessingml.document"

) {

this.$message.error("只支持.mp4、.doc、.docx文件!");

return false;

}

},

// 超出上传数量的时候调用

handleExceed(files, fileList) {

this.$message.warning(

`当前限制选择 2 个文件,本次选择了 ${files.length} 个文件,共选择了 ${

files.length + fileList.length

} 个文件`

);

},

// 手动上传

submitUpload() {

this.$refs.ruleForm.validate((valid) => {

if (valid) {

if (this.$refs.upload.uploadFiles.length <= 0) {

this.$message.warning("请选择上传的文档或视频");

return;

}

this.saveLoading = true;

// 新建formData对象

let formData = new FormData();

// 将上传的文件放进formData对象

this.$refs.upload.uploadFiles.forEach((file) => {

formData.append("file", file.raw);

});

// 携带其他参数

formData.append("articleTitle", this.form.articleTitle);

formData.append("category", this.form.category);

formData.append("author", this.form.author);

formData.append("keyword", this.form.keyword);

formData.append("unit", this.form.unit);

// 调用上传接口

uploadFile(formData)

.then((res) => {

if (res && res.code === 200) {

this.$message.success("保存成功");

} else {

this.$message.error(res.msg);

}

this.saveLoading = false;

this.queryRule();

})

.catch((err) => {

console.log(err);

});

this.dialogFormVisible = false;

this.isAdd = false;

}

});

},

使用this.$refs.upload.uploadFiles获取文件列表是因为通过绑定file-list经常获取不到对象列表,具体原因还不清楚

最后

以上就是单薄帆布鞋为你收集整理的使用elementui实现表单上传功能_elementUI实现自定义上传文件并携带参数的全部内容,希望文章能够帮你解决使用elementui实现表单上传功能_elementUI实现自定义上传文件并携带参数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部