我正在使用Uploadify(并使用Struts2作为后端端)上传文件,每当我选择文件后,IO Error
或HTTP Error
都会发生:
test.jpg (79.37KB) - HTTP Error
这是JavaScript代码:
$(select).uploadify({
'uploader' : BASE_PATH + 'js/uploadify-v2.1.4/uploadify.swf',
'script' : 'attachement/doUploadImage.action?jsessionid='+sessionId,
'scriptData': {'folder': 'customer'},
'auto' : true,
'buttonText': 'Select a image',
'displayData': 'percentage',
'fileDesc': 'Support Formats:jpg/gif/jpeg/png/bmp.',
'fileExt': '*.jpg;*.gif;*.jpeg;*.png;*.bmp',
'multi': false,
'cancelImg' : BASE_PATH + 'js/uploadify-v2.1.4/cancel.png',
'fileDataName': 'uploadFile',
'onComplete' : function(event, queueID, fileObj, response, data) {
// Do something
},
'onError': function(error) {
}
});
以下是struts.xml配置:
<package name="attachement" namespace="/attachement" extends="test-default">
<action name="do*" method="{1}" class="com.test.AttachmentAction">
</action>
</package>
以下是AttachmentAction中的代码:
private String folder;
private File uploadFile;
public void doUploadImage() {
Upload result = new Upload();
try {
log.info("Begin uploading the file " + uploadFile);
String filePath = IoUtil.saveAttachment(uploadFile, folder);
result.setSuccess(true);
result.setFilePath(filePath);
} catch (Exception e) {
e.printStackTrace();
result.setSuccess(false);
result.setMessage("Error: " + e.getMessage());
}
this.outJson(result);
}
以下是firebug下的信息:
我不知道是什么原因造成这个错误?任何人都可以给我帮助。非常感谢。
答案 0 :(得分:0)
几天后,这个问题就解决了。根本原因是我的项目没有包含struts 2上传功能所依赖的Apache Jars。
commons-fileupload.jar
commons-io.jar
谢谢!