Java 使用“时出现严重错误”;“多部分/表单数据”;用于文件上载服务-Apache Jersey
我得到这个错误:Java 使用“时出现严重错误”;“多部分/表单数据”;用于文件上载服务-Apache Jersey,java,rest,jersey,Java,Rest,Jersey,我得到这个错误: SEVERE: Resource methods utilizing @FormParam and consuming "multipart/form-data" are no longer supported. See @FormDataParam 当基于Apache Jersey的Rest web服务的客户端web访问完成时,我现在正在工作: @POST @Path("upload") @Consumes("multipart/form-data") @Produces(
SEVERE: Resource methods utilizing @FormParam and consuming "multipart/form-data" are no longer supported. See @FormDataParam
当基于Apache Jersey的Rest web服务的客户端web访问完成时,我现在正在工作:
@POST
@Path("upload")
@Consumes("multipart/form-data")
@Produces("text/plain")
public String uploadFile(@FormParam("file") File file, @FormParam("file") FormDataContentDisposition fileDetail) {
String fileLocation = "/files/" + fileDetail.getFileName();
System.out.println("File location: " + fileLocation);
// Load image
try {
byte[] imageBytes = loadImage(fileLocation);
MongoConnection conn = MongoUtil.getConnection();
conn.connect("m1", "avatar");
GridFS fs = new GridFS(conn.getDB());
GridFSInputFile in = fs.createFile(imageBytes);
in.save();
} catch (Exception e) {
e.printStackTrace();
}
return "1";
}
我已尝试将@FormParam
更改为@FormDataParam
,但无法解决
有什么解决办法吗?试试这个:
@Path("upload")
@Consumes("multipart/form-data")
@POST
public void handleUpload(@FormParam("file") InputStream file) throws Exception {
// do your thing
}
你也可以参考
对于客户端:
import java.io.File;
import javax.ws.rs.core.MediaType;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.multipart.FormDataMultiPart;
public class UploadExample {
public void upload(String url, File f, String formName) {
FormDataMultiPart form = new FormDataMultiPart().field(formName, f, MediaType.MULTIPART_FORM_DATA_TYPE);
WebResource webResource = Client.create().resource(url);
webResource.type(MediaType.MULTIPART_FORM_DATA)
.accept(MediaType.TEXT_PLAIN)
.post(form);
}
}
您必须下载并使用jersey multipart.jar谢谢,这方面的对应客户端上传表单代码是什么?这行吗:如果您对所有rest请求都使用了/rest,那么操作应该是/rest/upload。对此进行了否决,因为如果他可以编译,他已经拥有jersey多部分依赖项。提供的日志消息是部署期间的消息。