【发布时间】:2017-11-14 20:05:59
【问题描述】:
我想在一个发布请求中发送一个文件和一个 json 模型。
我的请求映射如下所示:
@ResponseBody
@RequestMapping(value = "/sftp/upload", method = RequestMethod.POST)
public ResponseEntity<SftpModel> upload(@RequestPart("file") MultipartFile file, @RequestPart("sftpModel") SftpModel sftpModel) {
我的 Json 有这样的结构:
{
"sftpHost": "ftp01.Host.de",
"sftpPort": 22,
"sftpUser": "anyUser",
"sftpPassword": "anyPass",
"sftpRemoteDirectory": "/"
}
该文件在我的系统上。
我可以单独发送file 或sftpModel,但不能同时发送。我收到的错误是:
{
"timestamp": 1497336812907,
"status": 415,
"error": "Unsupported Media Type",
"exception": "org.springframework.web.HttpMediaTypeNotSupportedException",
"message": "Content type 'application/octet-stream' not supported",
"path": "/secure-data-transfer-service/sftp/upload"
}
curl --form "file=@test.txt" --form "sftpModel={"sftpHost":"ftp01.Host.de","sftpPort":22,"sftpUser":"anyUser","sftpPassword":"anyPass","sftpRemoteDirectory":"/"}" http://localhost:8080/secure-data-transfer-service/sftp/upload
有什么方法可以同时发送吗?
【问题讨论】:
-
您能否更具体地说明什么不起作用?您是否收到任何具体错误或任何其他可以与我们分享的信息?
-
@ValentinDespa 这不是我想做的。我只想通过一个请求发布一个文件和一个 json 模型。我得到的错误在我的问题中。如果我创建一个 sftpModel.json 文件而不是编写模型本身,它可以工作
-
这东西在我身边运行良好。
-
@Patrick 你能找到解决方案吗?我遇到了同样的问题。
-
@NewQueries 没有。我刚刚通过 multipart 发送文件并将 json 作为请求参数来让它工作。
标签: json spring spring-boot postman