后台管理文件和其它字段一起上传

文件上传和字段一开始困惑了自己很久,后来发现有一种方法formdata可以将文件和表单一起传到后端,首先使用el-upload组件获取到本地上传的文件,我需要手动上传因此设置:auto-upload=false,
知识点:给组件上添加一个ref="upload"就可以获取该组件对象,如果不是组件就是获取该元素,组件通信的一种方式

  //手动上传
  
    submitUpload() {
      this.$refs.upload.submit();
    },

//action是上传的服务器地址,设置为空,因为需要和其它字段统一进行发送请求

 :http-request="uploadFile"
 async uploadFile(fileobj) {
      this.menuId = this.$route.params.id;
      // 获取图片路径
      console.log(fileobj);
      let formData = new FormData();
      formData.append("file", fileobj.file);
      formData.append("menuId", this.menuId);
      formData.append("attName", this.attName);
      formData.append("fileType", this.fileName.name);
      formData.append("status", this.fileTimeType);
      //  fileTimeType
      let config = {
        headers: { "Content-Type": "multipart/form-data" },
      };
      const res = await this.$http.post(
        "/attachment/upload/file",
        formData,
        config
      );
      if (res.data.code === 0) {
        this.$message.success("文件上传成功");
        this.getResourceList();
        this.$refs.upload.clearFiles();
      } else {
        this.$message.err("文件上传失败");
      }
      
    },

补充:后端需要的是formdata形式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: multipartfile上文件null可能是因为上文件为空或者上文件名为空。建议检查一下上文件是否存在,文件名是否正确。如果问题仍然存在,可以尝试重新上文件或者联系相关技术人员进行处理。 ### 回答2: 在Java中,使用MultipartFile接口来处理文件是很常见的方法。然而,在上文件时遇到MultipartFile为null的情况,可能有以下几个原因。 第一种可能性是在前端页面中未正确设置文件表单。在前端页面的form表单中要添加enctype="multipart/form-data"属性,否则后端无法正确解析文件数据。 第二种可能性是由于网络输的问题,文件未正确递到后端。可以检查网络连接是否正常并确保文件递过程没有中断或丢失。 第三种可能性是后端代码中未正确处理文件。在Spring框架中,使用@RequestParam注解获取MultipartFile时,需要确保参数名称与前端的文件字段名称一致,并且类型为MultipartFile。 另外,还可以检查文件的大小限制是否合理,避免上过大的文件导致出现null的情况。可以通过设置Spring的配置文件(如application.properties或application.yml)中的相关属性来限制文件大小。 最后,还可以考虑通过使用其他方式来上文件,例如使用Apache Commons FileUpload或Servlet的Part接口等。 总之,当出现MultipartFile为null的情况时,需要仔细检查前端页面、网络输、后端代码以及文件大小限制等方面的问题,以确保文件成功上并能够正确处理。 ### 回答3: multipartfile上文件为null可能有以下几种情况: 1. 前端未选择文件进行上:在实际操作时,如果用户没有选择任何文件进行上,那么后台接收到的multipartfile参数就会是null。因此,我们需要在前端确保用户已经选择文件后再进行上操作。 2. 文件大小超过限制:在文件的过程中,有可能会设置文件的大小限制。如果上文件大小超过了设定的限制,那么后台接收到的multipartfile参数也会是null。我们需要检查文件大小限制设置是否正确,并对超过限制的文件进行相应提示。 3. 请求数据丢失:在数据输过程中,有可能会因为网络等原因导致数据丢失。如果后台接收到的请求数据中文件部分的内容丢失了,那么multipartfile参数也会是null。我们需要确保数据输的可靠性,避免数据丢失的情况发生。 4. 服务器配置问题:有时候multipartfile上文件为null可能是由于服务器的配置问题导致的。例如,可能是服务器未正确配置multipartfile的解析器等。我们可以检查服务器的配置是否正确,并进行相应的调整。 综上所述,multipartfile上文件为null可能是由于前端选择文件问题、文件大小超限、请求数据丢失、服务器配置等多种原因导致的。我们需要针对具体情况进行排查和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值