SpringMVC 提示:HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=----

今天在编写文件上传模块时,使用postman 上传文件测试相关功能时,提示如下错误信息:

"timestamp": 1473349676109,
  "status": 415,
  "error": "Unsupported Media Type",
  "exception": "org.springframework.web.HttpMediaTypeNotSupportedException",
  "message": "Content type 'multipart/form-data;boundary=----WebKitFormBoundaryTVc9eDC2a2elulOx;charset=UTF-8' not supported",
  "path": "/upload"

错误代码:

@ApiOperation(httpMethod = "POST", value = "文件上传")
	@RequestMapping(value = "/fileUpload", method = { RequestMethod.POST })
	@ResponseBody
	public Result upload(
			@RequestBody @ApiParam(name = "上传对象", value = "json格式对象", required = true) ChunkInfoModel entity) {
		if(logger.isDebugEnabled()){
			logger.debug(entity.toString());
		}
		EfileInfo model = upload.smallFileUpload(entity);
		return Result.ok("文件上传成功").setDatas("model", model);
	}

正确代码:

    @RequestMapping(value = "/fileUpload", method = { RequestMethod.POST })
	@ResponseBody
	@ApiOperation(httpMethod = "POST", value = "文件上传")
	public Result upload(ChunkInfoModel entity) {
		if (logger.isDebugEnabled()) {
			logger.debug(entity.toString());
		}
		EfileInfo model = upload.smallAttachUpload(entity);
		
		return Result.ok("文件上传成功").setDatas("model", model);
	}

解决方案:

去掉 @RequestBody 注解就行了

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你遇到的问题似乎是在尝试发送一个使用`multipart/form-data`格式的数据时,服务器不支持这种内容类型。`multipart/form-data`是一种用于在HTTP请求中发送多个部分的数据类型,它通常用于发送文件或包含文本和二进制数据的混合内容。 错误消息中的“boundary”和“charset”可能意味着你在尝试发送一个包含特定边界(boundary)和字符集(charset)的数据包。然而,服务器可能不支持你正在使用的特定边界或字符集。 要解决这个问题,你可以尝试以下几种方法: 1. **检查服务器配置**:确保服务器支持你正在使用的HTTP版本(例如,HTTP/1.1)和`multipart/form-data`内容类型。你可能需要更新或修改服务器的配置以支持这种类型的数据。 2. **更改内容类型**:如果你知道服务器不支持`multipart/form-data`,你可以尝试更改数据格式,或者只发送你不需要分块的数据。 3. **更改边界和字符集**:如果你的应用程序支持更简单的数据格式或不同的字符集,你也可以尝试更改它们。但请注意,边界值应该具有特定格式以确保正确解包数据。 4. **查看详细的错误消息**:除了上述通用建议外,你应该查看服务器返回的更具体的错误消息,以了解它对请求的特定要求。这可能会提供有关如何正确发送数据的更多详细信息。 如果你能提供更多关于你的代码、服务器配置或你正在尝试发送的具体数据的信息,我可能能够提供更具体的帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值