1

上传文件后,它会以 .tmp 文件的形式存储在临时目录中。

如何获得上传文件的实际文件类型?我需要从服务器端知道它是否是 bmp、jpeg、png 等。

注意:我也在使用 Struts 2 版本 2.1.8.1

4

3 回答 3

2

尝试触摸它的哑剧类型

File f = new File("temp.tmp");
System.out.println("Mime Type of " + f.getName() + " is " + new MimetypesFileTypeMap().getContentType(f));

输出应该是这样的:image/gifimage/pngimage/jpg等。

于 2012-07-04T08:54:02.053 回答
1

除了 Truong Ha 的回答(MimetypesFileTypeMap 需要activation.jar),还有其他一些方法:

http://www.rgagnon.com/javadetails/java-0487.html

干杯,

于 2012-07-04T09:01:29.517 回答
1

在 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;
}

然后您将可以访问上传文件的文件名和内容类型

于 2012-07-04T08:47:05.230 回答