我正在使用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天,并感到厌倦 –