【发布时间】:2020-04-17 00:51:44
【问题描述】:
我在服务器端使用 struts2 框架。我正在使用
上传文件服务器端:
<s:file name="fTU" id="fTU"/>
<input type="submit" value ="ok" onclick="upload()">
客户端:
function upload(){
var file = document.getElementById("fTU");
try {
this.xml = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
this.xml = new ActiveXObject("Microsoft.XMLHTTP");
} catch (err) {
this.xml = null;
}
}
if(!this.xml && typeof XMLHttpRequest != "undefined")
this.xml = new XMLHttpRequest();
if (!this.xml){
this.failed = true;
}
var formData = new FormData();
/* Add the file */
formData.append("upload", file.files[0]);
xml.open("POST", "", true); xml.setRequestHeader("Content-Type", "false");
xml.send(formData); /* Send to server */
xml.onreadystatechange = function () {
if (xml.readyState == 4 && xml.status == 200) {
alert(xml.statusText);
}
}
}
如何在struts2服务器端获取上传的文件对象?
它在服务器端类中,我正在尝试使用 request.getParameter(upload) 检索文件,但它给出了 null。
【问题讨论】:
-
要检索上传的文件,您需要先发送它。
-
嗨 Roman,我将文件附加到 formData 中,然后通过 XMLHttpRequest 发送 formData。这不是正确的方法吗?如果上面的代码有什么问题,请告诉我。
标签: ajax file-upload struts2