(特別RestEasy的)如何使用jax-rs做多部分/表單文件上傳?
這將是很好(單個文件)有類似的方法簽名:
public void upload(@FormParam("name") ..., @FormParam("file") file: InputStream)
...
可行?還是我在做夢?似乎並不那麼簡單。
(特別RestEasy的)如何使用jax-rs做多部分/表單文件上傳?
這將是很好(單個文件)有類似的方法簽名:
public void upload(@FormParam("name") ..., @FormParam("file") file: InputStream)
...
可行?還是我在做夢?似乎並不那麼簡單。
關鍵是利用RESTEasy附帶的@MultipartForm註釋。這使您可以定義一個POJO,它包含表單的所有部分並輕鬆綁定它。
就拿以下POJO:
public class FileUploadForm {
private byte[] filedata;
public FileUploadForm() {}
public byte[] getFileData() {
return filedata;
}
@FormParam("filedata")
@PartType("application/octet-stream")
public void setFileData(final byte[] filedata) {
this.filedata = filedata;
}
}
現在,所有你需要做的就是用這個POJO的實體這將是這個樣子:
@POST
@Path("/upload")
@Consumes("multipart/form-data")
public Response create(@MultipartForm FileUploadForm form)
{
// Do something with your filedata here
}
raiglstorfer,你將如何設置測試此服務的請求? – c12 2011-04-20 23:31:19
@ c12我使用cURL來測試我的RESTeasy方法。像這樣的東西應該工作:'curl -F [email protected] http:// localhost:8080/Project/rest-servlet/upload',更多信息在這裏:[link](http://curl.haxx.se /) – 2011-06-23 10:14:01
邁克爾,你是怎麼使用測試這項服務?我無法弄清楚如何設置請求... – c12 2011-04-20 23:32:00