从附件名连接到这个servlet!
downloadservlet.java
package mailservlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.activation.*;
import javax.mail.*;
import javax.mail.internet.*;
/**
* <p>title: </p>
* <p>description: </p>
* <p>copyright: copyright (c) 2002</p>
* <p>company: socix</p>
* @author simon
* @version 1.0
*/
public class downloadservlet extends httpservlet
{
public void service(httpservletrequest request, httpservletresponse response)
throws ioexception, servletexception
{
httpsession session = request.getsession();
string contenttype = request.getparameter("contenttype"); //附件的contenttype
int count = integer.parseint(request.getparameter("count")); //第几个bodypart
object body = session.getattribute("body"); //邮件的mimemultipart
if(body != null)
{
system.out.println("download start!");
try
{
mimemultipart mp = (mimemultipart)body;
int i = mp.getcount();
bodypart part = mp.getbodypart(count);
contenttype = part.getcontenttype();
string filename = part.getfilename();
response.setcontenttype(contenttype);
response.setheader("content-disposition","attachment; filename=" + filename);
system.out.println("download start!" + part.getsize());
inputstream is = part.getinputstream();
servletoutputstream out = response.getoutputstream();
bufferedinputstream buf = new bufferedinputstream(is);
byte[] data = new byte[2048];
int readed = buf.read(data);
while (readed != -1)
{
out.write(data,0,readed);
readed = buf.read(data);
}
out.flush();
out.close();
buf.close();
system.out.println("download over !");
}
catch (exception ex)
{
system.out.println("error : " + ex);
}
}
}
}
