element 表单提交图片(表单上传图片)

这篇具有很好参考价值的文章主要介绍了element 表单提交图片(表单上传图片)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用场景

vue2 + element 表单提交图片
  1.点击【上传图片】按钮择本地图片(只能选择一张图片)后。
  2.点击图片,支持放大查看。
  3.点击【保存】按钮,提交表单。

页面效果

element 表单提交图片(表单上传图片),前端,vue.js,前端

前端代码

HTML

<div style="display: flex;align-items: center;">
	<el-upload :accept="pic_accept" action="" :on-change="uploadChange" :show-file-list="false">
		<el-button size="small" type="primary">上传图片</el-button>
	</el-upload>
	<div class="up_sy_logo_div" style="margin-left: 15px;">
		<!--支持点击查看大图-->
		<el-image v-if="ruleForm.hrefn" style="width:100px;" :src="ruleForm.hrefn" :preview-src-list="ruleForm.hrefn ? [ruleForm.hrefn] : []"></el-image>
	</div>
</div>

Vue data

pic_accept: ".jpg,.png,.jpeg,.bmp",
pic_maxsize: "5",//单位MB
ruleForm: {
	hrefn: ""
},
file: [],//暂存文件
submitLoading: false,//防止重复提交

Vue methods

uploadChange(file) {
	if (file.status !== 'success') return;
	if (!this.checkFile(file)) return;
	this.ruleForm.hrefn = URL.createObjectURL(file.raw);
	// 复刻文件信息
	this.file = file.raw;
},
checkFile(file) {
	//  判断图片类型
	if (this.pic_type) {
		let picTypeArr = this.pic_type.split(',');
		let isImage = false;
		picTypeArr.forEach(item => {
			if (file.raw.type === 'image/' + item) {
				isImage = true;
			}
		});
		if (!isImage) {
			message.error('上传图片只能是 (' + this.pic_type + ') 格式!');
			return false;
		}
	}
	//  判断图片大小
	if (this.pic_maxsize > 0) {
		let isLtNumM = file.size / 1024 / 1024 < this.pic_maxsize;
		if (!isLtNumM) {
			message.error('上传图片大小不能超过 ' + this.pic_maxsize + 'MB!');
			return false;
		}
	}
	return true;
},
submitForm(formName) {
	let _this = this;
	let params = JSON.parse(JSON.stringify(this.ruleForm));

	let formData = new FormData();
	Object.keys(params).forEach((key) => {
		if (Array.isArray(params[key])) {
			params[key].forEach((v) => {
				formData.append(key + '[]', v);
			});
		} else {
			formData.append(key, params[key]);
		}
	});
	if (this.file.length !== 0) {
		formData.append('file', this.file);
	}
	_this.submitLoading = true;
	//httpPost 是自定义的函数
	httpPost('你的服务器接口URL', formData).then(function (response) {
		let res = response.data;
		if (res.error === 0) {
			message.success(res.msg);
			_this.clearForm();
		} else {
			message.error(res.msg);
		}
		//_this.$emit("child-event-list");
	}).catch(function (error) {
		console.log(error);
	}).finally(function () {
		_this.submitLoading = false;
	});
}

服务端 PHP接受参数文章来源地址https://www.toymoban.com/news/detail-835744.html

$_POST;
$_FILES['file'];

到了这里,关于element 表单提交图片(表单上传图片)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序:服务器请求、上传图片和提交表单开发完整代码实例

    该示例涉及服务器请求、上传图片、展示上传的图片,并提交表单,同时配合使用 WXML(微信小程序的前端页面结构)、WXSS(样式表)、以及 JavaScript(逻辑控制)。请注意,服务器端的实现将不在本示例范围内,您需要根据实际需求创建后端 API 来处理请求和上传的操作。

    2024年02月06日
    浏览(56)
  • Vue + Element ui 实现动态表单,包括新增行/删除行/动态表单验证/提交功能

    原创/朱季谦 最近通过Vue + Element ui实现了动态表单功能,该功能还包括了动态表单新增行、删除行、动态表单验证、动态表单提交功能,趁热打铁,将开发心得记录下来,方便以后再遇到类似功能时,直接拿来应用。 简化的页面效果图如下: 最开始,我是用了纯粹的表格形

    2024年02月04日
    浏览(48)
  • 【实操】vue+element UI tab页多表单合并校验提交

    一个页面中tab栏切换多个form表单组件,只有一个保存按钮。需要把各组件下的表达数据合并校验提交。 父组件通过两次调用$refs获取子组件的dom元素以及组件内部form的dom元素。 通过循环表单项获取validate值获取校验结果,通过Promise.all合并表单。 子组件内部getData方法返回表

    2024年02月11日
    浏览(43)
  • vue2 - 基于Element UI实现上传Excel表单数据功能

    批量数据上传后台,需要从后台下载一个固定格式的 Excel表格,然后在表格里面添加数据,将数据格式化,再上传给后台,后台做解析处理,往数据库添加数据 点击导入excel按钮,跳转到上传excel功能页面,点击上传或者是通过拖拽都能实现excel表格上传 通过Element UI的 el-di

    2024年02月13日
    浏览(38)
  • vue详细用法,ajax异步请求,案例分析 Element-ui组件使用,表单提交更新,下载,超详细

    标签及属性的使用 1.1 template 标签 1.2 form表单 1.2.1 ref属性 1.2.2 :model属性 1.2.3 :rules属性 1.2.4 label-width属性 1.2.5 el-row标签 1.2.5 el-col 标签 :span=\\\"12\\\"属性 1.2.5 el-form-item 标签 1.2.6 label 属性 1.2.7 prop属性 required 1.2.9 v-model属性 1.2.8 placeholder属性 效果图: 1.3 Select 选择器 当选项过多时,

    2023年04月12日
    浏览(91)
  • 前端JS 展示上传图片缩略图(本地图片读取)

    需求: 点击上传图片按钮,选择图片以后,不请求后端接口,直接将图片展示在缩略图中。 解决方案: 使用 FileReader 和 FileReader 中的 readAsDataURL 方法。 第一步 从 input[type=“file”] (上传文件标签) 里面拿到 file 数据,类似下图 第二步 拿到file数据后,执行下面代码 效果展示

    2024年02月15日
    浏览(51)
  • Vue上传图片功能【element ui】

    路径那里是axios请求根路径和接口文档里面后端给的路径拼接的 只要看到这个就证明这张图片并没有上传成功 我已经通过axios的request拦截器为每一个请求都挂载了一个Authorization也就是token,挂载了这个也就说明每一个axios请求都会追加一个token 但是为什么配置了token还是显示

    2024年02月12日
    浏览(55)
  • vue3 element组件上传图片

    在 Vue 3 中使用 Element 组件库进行图片上传,您需要使用 Element 的 Upload 组件。这个组件可以方便地实现文件上传功能,包括图片上传。 以下是一个简单的示例,演示如何在 Vue 3 中使用 Element 的 Upload 组件进行图片上传: 首先,确保您已经安装并配置了 Element 组件库。您可以

    2024年02月15日
    浏览(43)
  • Element-ui配合vue上传图片

    这里为大家介绍饿了吗ui配合vue封装一个图片上传的组件  首先大家先看一个饿了吗ui文档的各个钩子函数的介绍! on-preview这个属性我们一般用来预览图片时使用 on-remove这个属性时文件被删除时执行 一般我们在这里面进行数组的筛选 让它保证为最新数组 on-change当文件被选择

    2024年02月09日
    浏览(79)
  • vue+element ui实现图片上传并拖拽进行图片排序

    用到的技术栈: vue2 element Ui vue-dragging 第一步: 安装 第二步: 引入 Video_23-11-13_10-17-30 end~~~ 如有错误或观点不一致的请评论留言共同讨论,本人前端小白一枚,根据自己实际项目遇到的问题进行总结分享,谢谢大家的阅读!

    2024年01月24日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包