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();
        }
        }

        }