Subversion Repositories bacoAlunos

Rev

Blame | Last modification | View Log | RSS feed

package pt.estgp.es.exemplos.hibernate.web;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import pt.estgp.es.exemplos.hibernate.utils.StreamsUtils;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

public class UploadImagem extends HttpServlet {

        private static final long serialVersionUID = 1L;
        private ServletFileUpload uploader = null;

        @1.5.0/docs/api/java/lang/Override.html">Override

        public void init() throws ServletException {
            DiskFileItemFactory fileFactory = new DiskFileItemFactory();
            fileFactory.setRepository(new 1.5.0/docs/api/java/io/File.html">File("c:/tmp"));
            this.uploader = new ServletFileUpload(fileFactory);
        }

        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, 1.5.0/docs/api/java/io/IOException.html">IOException {
            doPost(request, response);
        }

        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, 1.5.0/docs/api/java/io/IOException.html">IOException {
            1.5.0/docs/api/java/lang/System.html">System.out.println("request.getParameter(\"sectionId\") = " + request.getParameter("sectionId"));
            List<FileItem> fileItemsList = null;
            try {
                fileItemsList = uploader.parseRequest(request);

                long sectionId = 0;
                Iterator<FileItem> fileItemsIterator = fileItemsList.iterator();
                while (fileItemsIterator.hasNext()) {
                    FileItem fileItem = fileItemsIterator.next();
                    if(!fileItem.isFormField())
                    {
                        1.5.0/docs/api/java/lang/System.html">System.out.println("FieldName=" + fileItem.getFieldName());
                        1.5.0/docs/api/java/lang/System.html">System.out.println("FileName=" + fileItem.getName());
                        1.5.0/docs/api/java/lang/System.html">System.out.println("ContentType=" + fileItem.getContentType());
                        1.5.0/docs/api/java/lang/System.html">System.out.println("Size in bytes=" + fileItem.getSize());
                    }
                    else if(fileItem.getFieldName().equals("sectionId"))
                    {
                        sectionId = new 1.5.0/docs/api/java/lang/Long.html">Long(fileItem.getString());
                        1.5.0/docs/api/java/lang/System.html">System.out.println("sectionId = " + sectionId);
                    }




                    StreamsUtils.inputStream2File(
                            fileItem.getInputStream(),
                            new 1.5.0/docs/api/java/io/File.html">File("c:/tmp/" + fileItem.getName()));
                    //
                    // todo
                    // gravar a imagem na BD e associar a mesma aos childs da seccao
                    // StreamsUtils.inputStream2File(fileItem.getInputStream(),new File("c:/siute/" + imagem.getId()));

                }
                request.getRequestDispatcher("upload.jsp").forward(request, response);
            } catch (FileUploadException e) {
                1.5.0/docs/api/java/lang/System.html">System.out.println(e.toString());
                e.printStackTrace();
            } catch (1.5.0/docs/api/java/lang/Exception.html">Exception e) {
                1.5.0/docs/api/java/lang/System.html">System.out.println(e.toString());
                e.printStackTrace();
            }
        }

    }