WARNING: StandardWrapper Valve[FileUploadHandl er]: Servlet.service () for servlet FileUploadHandl er threw exception
java.io.IOExcep tion: Corrupt form data: premature ending
on line 74
java.io.IOExcep tion: Corrupt form data: premature ending
on line 74
Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package myPackage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import javax.mail.*;
import java.lang.Object;
import javax.mail.internet.*;
import javax.activation.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.mail.MessagingException;
import javax.servlet.http.HttpSession;
import java.util.*;
import java.net.InetAddress;
import java.util.Properties;
import java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;
import java.io.File;
import com.sun.mail.smtp.*;
import javazoom.upload.*;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.FileUploadException;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Properties;
import javax.servlet.ServletException;
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;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
public class FileUploadHandler extends HttpServlet {
private final String UPLOAD_DIRECTORY = "d:/WebmailHRWorkingDir";
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String host = "mail.purcon.pl";
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("Hello<br/>");
boolean isMultipartContent = ServletFileUpload.isMultipartContent(request);
if (!isMultipartContent) {
out.println("You are not trying to upload<br/>");
return;}
try{
MultipartFormDataRequest mrequest = new MultipartFormDataRequest(request);
mrequest = new MultipartFormDataRequest(request);
String to=mrequest.getParameter("to");
String from = mrequest.getParameter("from");
String subject=mrequest.getParameter("subject");
String body=mrequest.getParameter("body");
Properties properties = System.getProperties();
// Setup mail server
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.port", "587");
properties.put("mail.smtp.user", from);
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.password","m1ssy0u");
properties.put("mail.smtp.starttls.enable", "true");
Session session = Session.getInstance(properties,new javax.mail.Authenticator()
{protected javax.mail.PasswordAuthentication
getPasswordAuthentication()
{return new javax.mail.PasswordAuthentication("kasia@purcon.pl","m1ssy0u");}});
///if (MultipartFormDataRequest.isMultipartFormData(request))
//{
//try{
///
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
msg.setSubject(subject);
// create the message part
MimeBodyPart messageBodyPart =
new MimeBodyPart();
//fill message
messageBodyPart.setText(body);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// Part two is attachment
messageBodyPart = new MimeBodyPart();
messageBodyPart = new MimeBodyPart();
out.println("You are trying to upload<br/>");
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> fields = upload.parseRequest(request);
out.println("Number of fields: " + fields.size() + "<br/><br/>");
Iterator<FileItem> it = fields.iterator();
if (!it.hasNext()) {
out.println("No fields found");
return;
}
out.println("<table border=\"1\">");
while (it.hasNext()) {
out.println("<tr>");
FileItem fileItem = it.next();
boolean isFormField = fileItem.isFormField();
if (isFormField) {
out.println("<td>regular form field</td><td>FIELD NAME: " + fileItem.getFieldName() +
"<br/>STRING: " + fileItem.getString()
);
out.println("</td>");
} else {
DataSource source =
new FileDataSource(new File(UPLOAD_DIRECTORY + File.separator + fileItem.getString()));
System.out.println("source="+source.getName());
messageBodyPart.setDataHandler(
new DataHandler(source));
messageBodyPart.setFileName(fileItem.getName());
multipart.addBodyPart(messageBodyPart);
out.println("<td>file form field</td><td>FIELD NAME: " + fileItem.getFieldName() +
"<br/>STRING: " + fileItem.getString() +
"<br/>NAME: " + fileItem.getName() +
"<br/>CONTENT TYPE: " + fileItem.getContentType() +
"<br/>SIZE (BYTES): " + fileItem.getSize() +
"<br/>TO STRING: " + fileItem.toString()
);
out.println("</td>");
}
out.println("</tr>");
}
out.println("</table>");
} catch (FileUploadException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
} catch (UploadException e) {
e.printStackTrace();
}
}
}