ファイルのアップロードが部分的に成功しました。拡張子が.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) {
}
}
}