我想上传带有spring-boot和vue的文件。但是,我有一个错误“415:Unsupported MediaType”。
这是我的Spring启动控制器。
@PostMapping(consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}, produces = {MediaType.APPLICATION_JSON_VALUE})
@ResponseBody
@ApiOperation(value = "회원 가입", notes = "<strong>아이디와 패스워드</strong>를 통해 회원가입 한다.")
@ApiResponses({
@ApiResponse(code = 200, message = "성공"),
@ApiResponse(code = 401, message = "인증 실패"),
@ApiResponse(code = 404, message = "사용자 없음"),
@ApiResponse(code = 500, message = "서버 오류")
})
public ResponseEntity<User> register(
@RequestParam("file") MultipartFile file,) throws IllegalStateException, IOException, URISyntaxException {
...
}
而且,这是我的vue代码。
<el-form-item prop="profileImg" label="프로필 사진" :label-width="state.formLabelWidth" >
<input @change="fileSelect()" id="profileimg" type="file" accept="image/*">
</el-form-item>
const formData = new FormData()
formData.append('userId', state.form.userId)
formData.append('userName', state.form.userName)
formData.append('password', state.form.password)
formData.append('age', state.form.age)
formData.append('gender', state.form.gender)
formData.append('phoneNum', state.form.phoneNum)
formData.append('email', state.form.email)
formData.append('mbti', state.form.mbti)
formData.append('guide', state.form.guide)
formData.append('file', state.form.profileImg)
profileImg ({ commit }, payload) {
return axios
.post(`${BASE_URL}/api/v1/users`, payload,
{
headers: {
"Accept": "*/*",
"Content-Type": "multipart/form-data"
}
}
)
}
我尝试@RequestPart多部分文件
,但遇到同样的错误。我该如何修复它?
我在GitHub上找到了答案 你所要做的就是改变
@RequestParam("file") MultipartFile file)
与:
@RequestParam("file") FilePart file)
对不起,我不能添加评论,这个答案只是我的猜测
如果输出怎么办
request.getHeader(HttpHeaders.CONTENT_TYPE);
如果您的请求通过Nginx或其他代理,Content-Type可能已更改
我有一个Spring boot的项目,我正试图上传一个文件。 我在表单上使用multipart/form-data,在控制器中使用@requestPart。尽管所有的教程和解决方案都推荐使用@RequestParam,但它似乎不再起作用了,或者只对我起作用了。 例如,我有一种感觉,它可能与Spring boot的更新版本有关。我在http://www.mkyong.com/spring-boot/
我知道已经有一个类似的问题,但它没有解决上述错误。 这是我在API控制器中的PUT操作,在中运行良好: 以下是我的网页上的代码: HTML 打字稿 我的服务是: 我还使用了尝试上述问题的答案,我将我的文件附加到中,但不幸的是,同样的错误。如果媒体类型中没有任何设置,如何修复此问题?
我在使用Spring的reactive框架处理文件上传时遇到了一些问题。我想我正在跟踪文档,但无法摆脱/问题。 似乎Spring在将这些转换为时遇到了问题..?我卡住了--任何帮助都是可取的!
问题内容: 自数小时以来,我一直在尝试纠正http错误,但它仍显示不支持的页面。我在邮递员中添加标题。 这是我的Java代码 这是我的档案 问题答案: 通过和如何在响应流和请求流之间对对象进行序列化和反序列化。 将会发生的是,将从提供者的注册表中进行搜索,以查找可以处理的媒体类型。如果找不到,则Jersey无法处理该请求,并将发送415不支持的媒体类型。通常,你还应该在服务器端记录一个异常。不知道
我已经创建了一个示例web服务来进行post调用。 我使用的是Jersey JAX-RS和Maven。
我正在使用最后一个(也是唯一一个) 带Spring防尘套 是虫子吗?或者我应该添加一些其他注释以使其正常工作?