0

ファイルのアップロードが部分的に成功しました。拡張子が.html、.jpeg、.pdfなどのファイルは正常に機能します。.zip、.rpm、.tar.gzに関しては、機能しません。ファイルが転送されます。目的のパスに移動しますが、ファイルが破損しています。

<tr>  
 <td>FileName</td>  
 <td><input type="text" name="filename" size="30"/></td>  
</tr> 
<tr>  
 <td>Select main category</td>  
 <td>  
  <select name="main">  
   <option >--Select--</option>  
   <option>aerospace</option>  
   <option>automotive</option>  
   <option>energy</option>  
   <option>icengines</option>  
   <option>wind</option>  
   <option>turbo</option>  
   <option>it</option>
   <option>training</option>  
  </select>  
 </td>  
</tr>  
<tr>  
    <td>Select sub category</td>
 <td>  
  <select name="sub">  
   <option >--Select--</option>  
   <option>internal</option>  
   <option>demo</option>  
   <option>best practice</option>  
   <option>marketing</option>  
   <option>papers & public</option>  
   <option>validation</option>  
   <option>training</option>  
  </select>  
 </td>  
</tr>  


<tr>  
 <td>Upload File</td>  
 <td><input type="file" name="file1"/></td>  
</tr> 

ドロップダウン値とtype="file"とともにファイル名を取得します。ファイルは目的のパスに転送されますが、ファイルは上記の形式で破損しています(これらの形式のみで確認しました)。すべてのファイルが必要です。破損することなく保存されます。

私のサーブレット:

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) {  
}  
}   

}  
4

0 に答える 0