java.io.IOException: Corrupt form data: premature ending
on line 74
Expand|Select|Wrap|Line Numbers
- /*
- * 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();
- }
- }
- }