vue+ springboot 实现本地文件上传快速示例(整流程代码)

vue布局

 <el-upload
            class="upload-demo"
            ref="upload"
            :show-file-list="showList"
            action="no"
            accept="image/jpeg,image/gif,image/png"
            
            :http-request="onChange"
            >
            <el-button size="small" type="primary">本地新增</el-button>
          </el-upload>

同页面下对应的 js 方法

import { addFromStranger } from "@/api/business/duty/feature";

 //本地上传input触发事件
    onChange(file) {
      console.log(file)

      let formData = new FormData()
      formData.append('file', file.file)
      formData.append('userId',this.$route.params.userId)
      console.log(formData)
      
      addFeature(formData).then(res => {
        console.log(res);
        this.msgSuccess("添加成功");
        this.getAllImg()
      })
    },

api
headers: { 'content-type': 'multipart/form-data' }会与 @RequestBody 冲突,不能用@RequestBody 接取数据

export function addFeature(data) {
  return request({
    url: '/duty/feature',
    method: 'post',
    data: data,
    headers: { 'content-type': 'multipart/form-data' },
  })
}

SpringBoot 后端

@RestController
@RequestMapping("/duty/feature")
public class CcccCheckonworkFaceFeatureController extends BaseController
{
@PreAuthorize("@ss.hasPermi('system:feature:add')")
    @PostMapping()
    public AjaxResult add(@RequestParam("file") MultipartFile file, @RequestParam("userId") String userId){
        FaceFeatureDto faceFeatureDto = new FaceFeatureDto();
        faceFeatureDto.setUserId(Long.valueOf(userId));
        faceFeatureDto.setFile(file);
        return toAjax(ccccCheckonworkFaceFeatureService.insertCcccCheckonworkFaceFeature(faceFeatureDto));
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咖啡汪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值