невозможно прочитать файл, используя apache fileupload в sturt 1.1 - PullRequest
0 голосов
/ 05 февраля 2012

Я сделал ajax-запрос следующим образом

**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);

список элементов пуст.пожалуйста, дайте мне код или идею.

1 Ответ

0 голосов
/ 05 февраля 2012

Вы не можете загружать файлы с простым AJAX.Во многих библиотеках JS есть обходные пути, поэтому лучше использовать такую ​​библиотеку JS, как Jquery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...