前端文件上传及后端接收(el-upload标签的使用)

本文介绍了如何使用elementUI的el-upload组件实现前端文件上传,并通过axios发送到后端。在前端,文件以formData格式存储,通过val.raw添加到formData。后端使用Java接收上传文件,保存到指定目录,并处理后续操作。关键点包括axios的post请求配置、el-upload组件的使用以及后端文件保存逻辑。
摘要由CSDN通过智能技术生成

一、前端上传

前端主要使用elementUI中的el-upload标签作为上传控件,通过axios发送post请求到后端,将文件上传到服务器中;需要注意的点:前端向后端发送的文件需要以formData格式存储,文件需要通过val.raw的方式将数据传给formData对象

  • body标签代码:
<!-- 上传对话框 -->
			<el-dialog title="上传" :visible.sync="dialogOfUpload" width="35%" style="text-align: center;">
				<el-upload class="upload-demo" action="#" drag multiple :headers="headers" :auto-upload="false"
				 :file-list="fileList" :on-change="handleChange">
					<i class="el-icon-upload"></i>
					<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
					<div class="el-upload__tip" slot="tip">上传Excel格式文件</div>
				</el-upload>
				<div slot="footer" class="dialog-footer">
					<el-button @click="dialogOfUpload = false">取 消</el-button>
					<el-button type="primary" @click="confirmUpload()">上 传</el-button>
				</div>
			</el-dialog>
  • action属性为上传的地址,这里用#号忽略了,使用axios发送请求;

  • headers为请求头,写死为'Content-Type': 'multipart/form-data'

  • auto-upload为是否自动上传,设置为false,关闭自动上传;

  • file-list为上传的文件列表,为数组的形式;

  • on-change,文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用;和handleChange函数绑定,文件变化时给fileList赋值,fileList通过这种方式获取值;

  • date数据代码:

data() {
   
				return {
   
				    dialogOfUpload: false,
					fileList: [],
					headers: {
   
						'Content-Type': 'multipart/form-data'
					}
				}
			},
  • method方法代码:

  • fileList存放上传的文件列表

  • headers设置请求头

methods: {
   
				handleChange(file, fileList) {
    //文件数量改变
					this.fileList = fileList;
				},

				confirmUpload() {
    //确认上传
					var param = new FormData();
					this.fileList.forEach(
						(val, index) => {
   
							param.append("file"
  • 79
    点赞
  • 307
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
el-upload标签elementUI中的上传控件,用于将文件上传后端。在前端代码中,可以看到el-upload标签的属性中有一个action属性,该属性指定了文件上传后端路径。在\[1\]中,action属性的值为后端上传路径,而在\[2\]中,action属性的值为"#",表示上传的请求将发送到当前页面。在\[3\]中,action属性的值为"https://jsonplaceholder.typicode.com/posts/",表示上传的请求将发送到该URL。因此,el-upload标签的action属性可以根据具体的需求设置为相应的后端上传路径。 #### 引用[.reference_title] - *1* [使用el-upload上传单文件多文件前后端实现](https://blog.csdn.net/qq_43780761/article/details/126564877)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [前端文件上传后端接收el-upload标签使用)](https://blog.csdn.net/Hsssc/article/details/109067378)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vue el-upload实现上传文件到后台的功能](https://blog.csdn.net/qq_42345108/article/details/102824501)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值