我是靠谱客的博主 可靠书包,最近开发中收集的这篇文章主要介绍element 文件上传 使用before-upload在上传前做验证,解决发送请求回调和自定义上传配置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

before-upload 上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被
reject,则停止上传。 function(file)

因为项目有一个需求,改图片是否重传,调用验证请求,如果数据库有则直接放回链接,打断上传。如果数据库没有则继续上传。

<div class="my-upload-box">
	<span @click="isShowUpload">取消</span>
	<el-upload class="upload-demo" :show-file-list="false" :data="myData" :headers="myHeader"
	 drag :action="myAction" :before-upload="beforeUpload" :multiple="false">
		<i class="el-icon-upload"></i>
		<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
		<div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过500kb</div>
	</el-upload>

</div>

1.beforeUpload

beforeUpload(file) {
	return new Promise((resolve, reject) => {
		// 判断上传格式*****************
		const isJPG = file.type === 'image/jpeg' || 'image/png';
		const isLt2M = file.size / 1024 / 1024 < 2;
		if (!isJPG) {
			this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!');
			 reject()
		}
		if (!isLt2M) {
			this.$message.error('上传图片大小不能超过 2MB!');
			 reject()
		}
		// 判断数据库里有没有,是否重新上传*****************
		var body = {
			"fileName": file.name,
			"guid": this.guid,
			"size": file.size
		}
		var dataAny = UploadCheck(body);
		dataAny.then((res, reg) => {
		//  如果res.url 存在,则不会自动上传***********
			if (res.url) {
				 reject()
			} else {
				 resolve()
			}
		})
	})
	// 返回false不会自动上传
}

上传运行
在这里插入图片描述
红色第一次上传,数据库没有,通过。
绿色第二次上传,数据库有,不通过

2. 自定义上传的配置

computed: {
			...mapState(['isUpload', 'PIM', 'baseURL']),
			//配置上传地址
			myAction() {
				return this.baseURL + '/upload/uploadFile'
			},
			//配置上传内容
			myData() {
				var guid = "";
				for (var i = 0; i < 9; i++) {
					guid += Math.floor(Math.random() * 10);
				}
				this.guid = guid;
				return {
					"guid": guid,
				}
			},
				//配置请求头
			myHeader() {
				return {
					'token': this.PIM.token
				}
			},
		},

最后

以上就是可靠书包为你收集整理的element 文件上传 使用before-upload在上传前做验证,解决发送请求回调和自定义上传配置的全部内容,希望文章能够帮你解决element 文件上传 使用before-upload在上传前做验证,解决发送请求回调和自定义上传配置所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部