【发布时间】:2012-07-04 08:42:11
【问题描述】:
上传文件后,它会以 .tmp 文件的形式存储在临时目录中。
如何获取上传文件的实际文件类型?我需要从服务器端知道它是否是 bmp、jpeg、png 等。
注意:我也在使用 Struts 2 版本 2.1.8.1
【问题讨论】:
标签: java jsp file-upload struts2
上传文件后,它会以 .tmp 文件的形式存储在临时目录中。
如何获取上传文件的实际文件类型?我需要从服务器端知道它是否是 bmp、jpeg、png 等。
注意:我也在使用 Struts 2 版本 2.1.8.1
【问题讨论】:
标签: java jsp file-upload struts2
尝试触摸它的 mime 类型
File f = new File("temp.tmp");
System.out.println("Mime Type of " + f.getName() + " is " + new MimetypesFileTypeMap().getContentType(f));
输出应该类似于:image/gif 或 image/png 或 image/jpg 等。
【讨论】:
如果有的话,在 JSP 上
<s:form action="fileUpload" method="post" enctype="multipart/form-data" >
<s:file name="userFile" label="File" />
<s:submit />
</s:form>
在你需要添加的 ActionClass 中
public void setUserFileContentType(String userImageContentType) {
this.userImageContentType = userImageContentType;
}
public void setUserFileFileName(String userImageFileName) {
this.userImageFileName = userImageFileName;
}
然后你就可以访问上传文件的文件名和内容类型
【讨论】:
除了Truong Ha的回答(MimetypesFileTypeMap需要activation.jar),还有其他一些方法:
http://www.rgagnon.com/javadetails/java-0487.html
干杯,
【讨论】: