Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
[email protected] webmail now available. Want one? Go here.
Cannot use outlook/hotmail/live here to register as they blocking our mail servers. #microsoftdeez
Obey the Epel!

Paste

Pasted as Java by kasun ( 12 years ago )
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controler;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.http.*;
import karsha.data.CollectionTypDB;
import karsha.data.DocumentDB;
import karsha.entities.CollectionType;
import karsha.entities.Document;
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;

/**
 *
 * @author v-saba
 */
public class UploadDocumentServlet extends HttpServlet{
    
    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
        
        HttpSession session = request.getSession();
        String userPath = request.getServletPath();
        String url = "";
        
            if(userPath.equals("/uploaddocuments")) { 

                boolean isMultipart = ServletFileUpload.isMultipartContent(request);
                

                if (isMultipart) {
                    FileItemFactory factory = new DiskFileItemFactory();
                    ServletFileUpload upload = new ServletFileUpload(factory);

                    HashMap requestParameters = new HashMap();
                    
                    try{
                      
                        List items = upload.parseRequest(request);
                                      
                        Iterator iterator = items.iterator();
                        while (iterator.hasNext()) {
                            
                            FileItem item = (FileItem) iterator.next();
                            
                            if (item.isFormField()) {

                                requestParameters.put(item.getFieldName(), item.getString());
                                
                            } else {
                                
                                byte[] fileContent = item.get();
                                
                                Document newDocument = new Document();
                                newDocument.setDocumentName( requestParameters.get("docName").toString());
                                newDocument.setUserId(Integer.parseInt(session.getAttribute("userId").toString()));
                                String a = requestParameters.get("collection_type_new").toString();
                                newDocument.setCollectionId(Integer.parseInt(a));
                                newDocument.setDocumentContent(fileContent);
                                
                                request.setAttribute("requestParameters", requestParameters); 
                               
                                if(DocumentDB.isFileNameDuplicate(newDocument.getDocumentName())){
                                    url="/WEB-INF/view/uploaddoc.jsp?error=file name already exists, please enter another file name";
                                }else{
                                    DocumentDB.insert(newDocument);
                                    url="/WEB-INF/view/uploaddoc.jsp";
                                }
                            }
                            
                        }

                    } catch (FileUploadException e) {
                        e.printStackTrace();
                        
                        
                    } catch (Exception e) {
                        
                        e.printStackTrace();
                    }
            }

            request.getRequestDispatcher(url).forward(request, response);

        }
    
    }
    
}

 

Revise this Paste

Your Name: Code Language: