【发布时间】:2017-06-02 07:44:44
【问题描述】:
我正在尝试编写一个球衣 REST api 来上传文件。收到文件后,我必须将文件保存在某个临时文件夹中并将文件发送到另一台服务器进行处理。我被困在使用接收到的文件名将文件保存在临时文件夹中的部分。如何处理从多个客户端上传的同名文件。因为同名文件被最新文件替换。我不想重命名文件。有没有办法解决这个问题。
下面是我目前的实现
@POST @Path("/uploadfile") @Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetails, @FormDataParam("meta") String requestMeta) {
String fileLocation = System.getProperty("java.io.tmpdir") + "/"+ System.currentTimeMillis() + "/" + fileDetails.getFileName(); //rename file with timestamp which I need to find a another way so that I can persist my file name
File file = writeToFile(uploadedInputStream,
fileLocation);
return Response.status(Response.Status.OK).entity(uploadAndGetDetails(file, requestMeta)).build();
}
【问题讨论】:
标签: jakarta-ee jax-rs multipartform-data jersey-2.0 file-handling