Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so dont bother with any of their useless mail servers here and just use oauth login instead. Thank the nice Russians for causing that. :)

Paste

Pasted as Java by kasun ( 14 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: