gpt4 book ai didi

java - Jersey RestFul 服务中的文件上传问题

转载 作者:行者123 更新时间:2023-12-01 13:40:12 25 4
gpt4 key购买 nike

我在我的一个应用程序中使用 jersey 作为后端。我在使用 Jersey 上传文件时遇到问题。我使用了 google 上提供的通用文件上传代码。

@POST
@Path("/setProfileImage")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_HTML)
public String setProfileImage(
@FormDataParam("profileimage") InputStream uploadedInputStream,
@QueryParam("myemail") String myemail) throws IOException {

String contextRoot = uri.getBaseUri().getPath();
String uploadedFileLocationOrig = httpRequest.getSession().getServletContext().getRealPath("") + "/images/" + myemail + "_orig.png";
FileUtils.copyInputStreamToFile(uploadedInputStream, new File(uploadedFileLocationOrig));

return "true";
}

代码运行没有错误,但是在目标位置复制的图像无效,并且当我使用其 url 访问该文件时返回一个空文件。

error

知道我在这里做错了什么吗?

最佳答案

我终于弄清楚了,Jersey版本已经相当老了,即1.17,下面的代码对我来说就像一个魅力

@POST
@Path("/setProfileImage")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_HTML)
public String setProfileImage(
final MimeMultipart file,
@QueryParam("myemail") String myemail) throws IOException, javax.mail.MessagingException {

String uploadedFileLocationOrig = httpRequest.getSession().getServletContext().getRealPath("") + "/images/" + myemail + "_orig.png";

FileUtils.copyInputStreamToFile(file.getBodyPart(0).getInputStream(), new File(uploadedFileLocationOrig));

return "true";
}

关于java - Jersey RestFul 服务中的文件上传问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20879592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com