Struts2 Fileupload在动作类中给出null文件
我正在尝试使用struts2 fileUpload拦截器在我的Web应用程序中实现文件上载过程。 下面是我的代码
的index.jsp
在struts.xml
1024000 application/pdf /viewChapters.jsp
FileUploadAction.java
public class FileUploadAction extends ActionSupport { private File fileUpload; private String contentType; private String fileName; private String destPath; /// setter and getter methods public String execute() { destPath="C:\\WebPortal_testing"; try { System.out.println("Source File Name:"+fileUpload); System.out.println("Destination File Name:"+fileName); File destFile= new File(destPath,fileName); FileUtils.copyFile(fileUpload, destFile); } catch(IOException exception) { exception.printStackTrace(); return ERROR; } return SUCCESS; }
当我在index.jsp页面中选择一个pdf文件并单击上传按钮时,它会为动作类的fileUpload字段赋予null值。
我在调试模式下执行应用程序并给出了这个
System.out.println("Source File Name:"+fileUpload);
检查它返回的是什么,我得到null。
1.拦截器配置错误
FileUploadStack是:
然后你真正定义的是:
1024000 application/pdf
运用
- fileUpload拦截器的两倍
- 将您对maximumSize和allowedTypes的限制仅应用于第二个。
做就是了
1024000 application/pdf
2.文件属性错误
内容类型和文件名属性必须以文件属性名称开头。
在你的情况下:
private File fileUpload; private String fileUploadContentType; private String fileUploadFileName;
你可以在这个问题上找到一个完整的例子。
3.您正在打印文件而不是文件名
System.out.println("Source File Name:"+fileUpload);
这是文件,而不是文件名,而btw文件名是在另一个变量中传递的。
修复此问题并重试。 另请注意,当整个世界使用