Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка файлов на сервер 
:(
    Опции темы
kliver
Дата 2.4.2012, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 2.4.2012

Репутация: нет
Всего: нет



Здравствуйте. Появилась такая проблема, пытаюсь загрузить файл на сервер. 

Код

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;



public class uploadfile extends HttpServlet
{

    public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, java.io.IOException {
        response.setContentType("text/html");
        PrintWriter writer = response.getWriter();
        writer.println("Hello<br/>");
        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (!isMultipart) {
                writer.println("You are not trying to upload<br/>");
                return;
            }          
      FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
         try{
          List<FileItem> list = upload.parseRequest(request);
          Iterator<FileItem> it = list.iterator();
          response.setContentType("text/html");
          while ( it.hasNext() ) 
          {
    
            FileItem item = (FileItem) it.next();
            File disk = new File("C:\\uploaded_files\\"+item.getName());
                item.write(disk);
              writer.println("<HTML>");
                writer.println("<HEAD <TITLE> Upload4 </TITLE> </HEAD>");
                writer.println("<BODY>");
                writer.println("<FORM action = \"Upload_Servlet\" method = \"post\" enctype = \"multipart/form-data\">");
                writer.println("<INPUT type = file name = ufile>");
                writer.println("<INPUT type = submit value = \"Attach\">");
                writer.println("<h1>22</h1>");
                writer.println("</FORM>");
                writer.println("</BODY>");
                writer.println("</HTML>");
                
           
          }
        }
         catch ( Exception e ) {
          log( "Upload Error" , e);
        }
        writer.close();
    }
}



Но это не получается, потому как не входит в цикл while. Тоесть получается я ничего не передаю?
Примеров в гугле множество и все практически такие же как и мой. В чем может быть проблема.? Использую томкат 7.

Home.jsp 

Код

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
    <html> 
     <head> 
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
      <title> My first JSP </title> 
      </head>
       <body>


  <form action="Upload_Servlet" method="post" enctype="multipart/form-data">
   <div>
    <input id="fileUpload" type="file" name="filename "value="Browse..."/>
   </div>
   <div>
    <input id="btnSubmit" type="submit" value="Upload">
   </div>
  </form>
 </body>
</html>


PM MAIL   Вверх
4epT
Дата 4.4.2012, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: 3
Всего: 3



Я делал вот так:

Код

        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        
        try{
            
            if(!isMultipart){
                throw new Exception("form invalid");
            }


            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            List items = null;

            items = upload.parseRequest(request);

            Iterator itr = items.iterator();

            ArrayList<String> listImages = new ArrayList<String>();
            
            while (itr.hasNext()) {

              FileItem item = (FileItem) itr.next();
                
                if (!item.isFormField()) {
                       if(item != null && !item.getName().isEmpty()){
                            
                        String fileName = (new SimpleDateFormat("yyyyMMddHHmmss")).format(new Date()) + "_" + item.getName();

                        File file = new File(destinationDir, fileName);
                        item.write(file);
                        
                        listImages.add(DESTINATION_DIR_PATH.replaceAll("\\/", "") + "/" + fileName);
                    }
                }

             }
         } catch (Exception  ex){
         
         }


jsp стандартная как и у Вас.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.