使用 Spring REST API 上传文件

Posted

技术标签:

【中文标题】使用 Spring REST API 上传文件【英文标题】:Uploading file using Spring REST API 【发布时间】:2013-04-01 07:10:21 【问题描述】:

我有这样的控制器,我正在使用 POSTMAN REST 客户端上传 pdf 文件。设置内容类型:multipart/form-data;boundary=randomBoundaryNotInAnyOfParts 它正在创建文件,但没有在其中写入任何内容。我在这里错过了什么吗?

@RequestMapping(value = "/uploadfile", method = RequestMethod.POST)
public @ResponseBody String upload(HttpServletRequest request) 


InputStream is = null;
OutputStream out = null; 
try 

is = request.getInputStream();
byte[] b = new byte[1024];
out = new FileOutputStream(new File("C:\\tmp\\upload.txt"));
out.write(b);
 catch (IOException e) 
e.printStackTrace();
 finally

try
if(out != null)
out.close();

if(is != null)
is.close();

catch(IOException io)
io.printStackTrace();



return null;

谢谢, 维奈

【问题讨论】:

【参考方案1】:

你的 byte[] 是空的,因此它没有在文件中写入任何内容。获取请求内容到byte[],然后写入文件。

或者你可以使用 BufferedWriter 也更快。

谢谢, 布里杰什

【讨论】:

以上是关于使用 Spring REST API 上传文件的主要内容,如果未能解决你的问题,请参考以下文章

如何实现 Spring REST 端点上传大文件? [复制]

C# Rest API 文件上传

Spring Boot文件上传示例(Ajax和REST)

如何使用 REST API 将文件和附件上传到 sobject 记录?

在 JAVA 中使用 Rest API 客户端上传文件

有没有办法使用 Django REST 框架中的可浏览 API 上传文件?