0
我做了Ajax請求如下無法使用Apache文件上傳在斯特1.1
**function uploadFiles(url, files) {
alert("sss");
var formData = new FormData();
for (var i = 0, file; file = files[i]; ++i) {
alert("v"+file.name);
formData.append("file", file);
}
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.onload = function(e) {alert("'ddd111000") };
xhr.send(formData); // multipart/form-data
}**
其發送文件到服務器,但讀取文件時,我試圖讀取它,它的要求和文件中使用Apache文件上傳支柱1.1。它返回空FileItem對象的清單。請幫我關於以下是我寫的服務器端代碼
// Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(5000 * 1024);
// Location to save data that is larger than maxMemSize.
factory.setRepository(new File("G:\\Project\\"));
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// maximum file size to be uploaded.
upload.setSizeMax(5000 * 1024);
// Set factory constraints
// Create a new file upload handler
//ServletFileUpload upload = new ServletFileUpload(factory);
// ServletFileUpload upload = new ServletFileUpload();
// upload.getItemIterator(request);
List items = upload.parseRequest(request);
項目列表爲空。請給我代碼或想法。
但我有請求中的文件,我使用螢火蟲觀察它。編碼形式的文件數據 – user1172963 2012-02-05 14:05:14
好的,如果你使用現代瀏覽器,它將工作,但文件傳輸方式有點不同。 Struts 1.1不支持這個功能,因爲它比您嘗試使用的功能更老。請在通常的請求參數(如request.getParameter(「file」))中查找。 (不在文件中)。 – 2012-02-05 14:15:23
使用request.getParameter(「file」)這樣的請求對象,我得到null – user1172963 2012-02-06 08:16:28