fileupload using apache fileupload
jeonghoon Jun 25, 2010 6:43 AMthe source below prints
size 0
size 0
I don't know why this gives size 0.
I spended couple of days to solve this problem.
Still don't have idea.
Still don't have idea.
Help me please.
I use apache fileupload 1.2.1, on jboss 5.0.
=============================== file.html ===============================
<form action="http://100.100.100.100:8088/dmb/servlet/UploadServlet" name="frm" ENCTYPE='multipart/form-data'
method='POST'>
<input type="file" name="file1"/><input type="button" onclick="frm.submit()" value="submit" />
</form>
=============================== UploadServelt ===============================
import java.io.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import java.util.*;
public class UploadServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) {
service(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) {
service(request, response);
}
public void service(HttpServletRequest request, HttpServletResponse response) {
try {
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
public void doGet(HttpServletRequest request, HttpServletResponse response) {
service(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) {
service(request, response);
}
public void service(HttpServletRequest request, HttpServletResponse response) {
try {
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List /* FileItem */ items = upload.parseRequest(request);
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List /* FileItem */ items = upload.parseRequest(request);
// Process the uploaded items
Iterator iter = items.iterator();
System.out.println(items.size()+" :::::size:::::");
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
Iterator iter = items.iterator();
System.out.println(items.size()+" :::::size:::::");
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
processFormField(item);
} else {
processUploadedFile(item);
}
}
}
}
catch (Exception e) {
e.printStackTrace();
}
processFormField(item);
} else {
processUploadedFile(item);
}
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}
private void processFormField(FileItem item) {
String name = item.getFieldName();
String value = item.getString();
System.out.println("Item name: " + name + " value: " + value);
}
private void processFormField(FileItem item) {
String name = item.getFieldName();
String value = item.getString();
System.out.println("Item name: " + name + " value: " + value);
}
private void processUploadedFile(FileItem item) throws Exception {
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
boolean writeToFile = true;
if (sizeInBytes > (5 * 1024 * 1024)) {
writeToFile = false;
}
// Process a file upload
if (writeToFile) {
File uploadedFile = new File("<directory on the server' file system>"+ fileName);
if (!uploadedFile.exists()) {
uploadedFile.createNewFile();
}
item.write(uploadedFile);
}
else {
System.out.println("Trying to write a large file.");
}
if (sizeInBytes > (5 * 1024 * 1024)) {
writeToFile = false;
}
// Process a file upload
if (writeToFile) {
File uploadedFile = new File("<directory on the server' file system>"+ fileName);
if (!uploadedFile.exists()) {
uploadedFile.createNewFile();
}
item.write(uploadedFile);
}
else {
System.out.println("Trying to write a large file.");
}
}
}
}