java - java REST API 中的多部分表单请求给出 FileNotFound 异常
问题描述
@POST
@Produces("application/json")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response signUp(
@FormDataParam("name") String name, @FormDataParam("mobile") String mobile,
@FormDataParam("password") String password, @FormDataParam("email") String email,
@FormDataParam("dob") String dob, @FormDataParam("address") String address,
@FormDataParam("otp") String otp, @FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail,
@FormDataParam("path") String path) {
Registration reg = new Registration();
reg.setName(name);
reg.setMobile(mobile);
reg.setPassword(password);
reg.setEmail(email);
reg.setDob(dob);
reg.setAddress(address);
reg.setEnteredDate(new Date());
reg.setOtp(otp);
//path=http://myip:8080/project_name
String uploadedFileLocation = path + fileDetail.getFileName();
System.out.println(uploadedFileLocation);
writeToFile(uploadedInputStream, uploadedFileLocation);
RegistrationServiceI regService = new RegistrationService();
String result = regService.saveRegistration(reg);
JSONObject jsonObj = new JSONObject();
jsonObj.put("result", result);
return Response.status(200).entity(jsonObj.toString()).build();
}
private void writeToFile(InputStream uploadedInputStream, String uploadedFileLocation) {
try {
OutputStream out = new FileOutputStream(new File(uploadedFileLocation));
int read = 0;
byte[] bytes = new byte[1024];
out = new FileOutputStream(new File(uploadedFileLocation));
while ((read = uploadedInputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
一切运作良好。但是当我试图保存文件时,它给了我 FileNotFoundException。我看到了很多与此相关的问题,但我没有在任何网站上看到任何答案。请帮我。
解决方案
将 FormDataContentDisposition 更改为 Multipart
推荐阅读
- python - Pandas:如何在一个日期范围内对列值求和
- fortran - Fortran 模块分段错误 - GNUFOR
- java - Batik 在 SVGGraphics2D 中加载 SVG 文件
- oauth - 取消外部登录的例外情况
- java - 外部链接 在 Tika 中爬网 - Java
- asp.net - 由于 angularjs 的 web.config 中的重写规则导致的 Scriptmanager 问题
- ios - 'range(of:in:for:)' 不可用:改用 range(of:in:for:)
- javascript - 优化 JavaScript 国家/地区选择器的地图使用
- python - “sudo pip install chaco”失败并出现错误
- angular - 加载项打开时第二次使用 Angular 5 随机错误“Office.js 未完全加载”的 Outlook Web 加载项