我正在使用jboss的rest-easy多部分提供程序來導入文件。我在這裏閱讀http://docs.jboss.org/resteasy/docs/1.0.0.GA/userguide/html/Content_Marshalling_Providers.html#multipartform_annotation關於@MultipartForm,因爲我可以將它準確映射到我的POJO。@MultipartForm如何獲取原始文件名?
下面是我的POJO
public class SoftwarePackageForm {
@FormParam("softwarePackage")
private File file;
private String contentDisposition;
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public String getContentDisposition() {
return contentDisposition;
}
public void setContentDisposition(String contentDisposition) {
this.contentDisposition = contentDisposition;
}
}
然後我得到的文件對象並打印其絕對路徑和它返回類型的文件的文件名。擴展名和上傳的文件名會丟失。我的客戶正嘗試上傳檔案文件(zip,tar,z)
我在服務器端需要這些信息,以便我可以正確應用解壓縮程序。
原始文件名在內容處置標題中發送到服務器。
我怎樣才能得到這些信息?或者至少我怎麼說jboss來保存上傳的文件名和擴展名的文件?它可以從我的應用程序配置嗎?
你可以嘗試在你的''文件'中添加'@PartType(「application/zip」)'並查看它是否有效?完整的包是'org.jboss.resteasy.annotations.providers.multipart.PartType'。 –
@isim是的,我會嘗試。 tar和Z文件的價值是什麼? –
@isim沒有用:(它沒有用,我不明白爲什麼人們在沒有提供原始apis提供的所有功能的時候包裝apis,他們說某些事情可以做得更好,他們提供apis,他們會介紹更多問題,當我們知道這一點時,我們就被鎖定了,我從這裏開始工作了將近3天,並感到厭倦 –