archivo corrompido después de la transferencia usando apache commons

He hecho la carga de archivos parcialmente exitosa. El archivo con extensión-.html, .jpeg, .pdf etc. funciona bien. Cuando se trata de .zip, .rpm, .tar.gz no funciona. El archivo se está transfiriendo a la ruta deseada, pero el archivo está dañado.

 FileName    Select main category   --Select-- aerospace automotive energy icengines wind turbo it training     Select sub category   --Select-- internal demo best practice marketing papers & public validation training     Upload File   

obtendrá el nombre de archivo junto con los valores desplegables y escriba = “archivo”, el archivo se transfiere a la ruta deseada, pero el archivo está dañado para los formatos mencionados anteriormente (he comprobado solo con esos formatos). Necesito todo el archivo para ser almacenado sin ser corrompido

mi servlet:

 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.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; private String filename=""; private String main1=""; private String location; private String sub; private File uploadFile; @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { PrintWriter out = response.getWriter(); DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload fileUpload = new ServletFileUpload(factory); List items = fileUpload.parseRequest(request); Iterator ir = items.iterator(); while(ir.hasNext()){ FileItem item = (FileItem)ir.next(); if(item.isFormField()) { String name = item.getFieldName(); if(name != null) { if(name.equals("userName")) { filename = item.getString(); } else if(name.equals("main")) { main1 = item.getString(); } else if(name.equals("sub")) { sub=item.getString(); } } }else{ location = File.separator+"home"+File.separator+"adapco"+File.separator+"Desktop"+ File.separator +"output"+ File.separator +main1+File.separator+sub+File.separator+filename; uploadFile = new File(location); long size = item.getSize(); if(size <= 1024*1024*1024) { item.write(uploadFile); out.println("Your File is uploaded successfully "); }else{ out.println("Your File is not uploaded.File size should be less than 1gb"); } } } } catch (Exception e) { } } } 

Intereting Posts