Java 使用JQuery Ajax和Struts1上传文件
我的要求是使用AJAX调用提交HTML表单(包括文件类型和文本类型),我在服务器端使用Struts-1解析http请求。下面是我写的代码,但当我试图打印文件名时,它给了我一个例外 JavaScript代码:-Java 使用JQuery Ajax和Struts1上传文件,java,javascript,jquery,ajax,struts-1,Java,Javascript,Jquery,Ajax,Struts 1,我的要求是使用AJAX调用提交HTML表单(包括文件类型和文本类型),我在服务器端使用Struts-1解析http请求。下面是我写的代码,但当我试图打印文件名时,它给了我一个例外 JavaScript代码:- function saveUpdateRfc(formId) { console.log("Enter in Upload Script"); var formData = new FormData(); formData.append("file",formId
function saveUpdateRfc(formId) {
console.log("Enter in Upload Script");
var formData = new FormData();
formData.append("file",formId.files[0]);
console.log(formData);
$.ajax({
url : "AddRfc.do",
type : "POST",
data : formData,
async: false,
cache: false,
mimeType:"multipart/form-data",
contentType: false,
processData: false,
success : function(result) {
if (result.result == "success") {
console.log("Rfc Added");
} else {
bootbox
.alert("Some Error Occured While Opening this Rfc. Please refresh the page and try again.If this Problem Persists, please report it to dev team.");
}
},
error : function(xhr, ajaxOptions, thrownError) {
console.log(xhr);
console.log(ajaxOptions);
console.log(thrownError);
bootbox
.alert("Some Error Occured While Opening this Rfc. Please refresh the page and try again.If this Problem Persists, please report it to dev team.");
},
complete : function() {
}
});
}
在服务器端,这里是从表单获取文件的java代码
RfcLogBean log = new RfcLogBean();
log = (RfcLogBean) form;
FormFile uploadedTakeoffSheet = log.getMyFile();
System.out.println("======= " +uploadedTakeoffSheet.getFileName());
System.out.println("======= " +uploadedTakeoffSheet.getContentType());
有人能帮忙吗 它给我空指针异常。那么
uploadedTakeoffSheet
为空?什么是RfcLogBean?为什么创建一个新的表单只是为了立即扔掉它,然后重新分配给一个强制转换的表单
?如果您认为您已经拥有了该文件,那么多部分请求包装的意义何在?等。是“uploadedTakeoffSheet”为空。RFCLogBean是我的POJO(ActionForm),它绑定到HTML表单。我尝试使用多部分包装器,现在已将其从代码中删除。您是否已通过在浏览器控制台或代理中检查请求来验证文件是否正确发送?