javamail下载附件问题?高手帮我一下好吗,我很急的??给100分的 http-equiv="Content-Type" ->http-equiv="Content-Disposition" test it 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是要先把它收到WEB-SERVER上的临时目录里,然后提供下载。}else if(message[i].isMimeType("multipart/*")){ Multipart mp = (Multipart)message[i].getContent(); int mpcount = mp.getCount(); Part part = mp.getBodyPart(0); xxnr = (String)part.getContent(); //附件 try { for (int k = 1; k < mpcount; k ++) { Part part1=mp.getBodyPart(k); String fjName = this.encode(part1.getFileName());//得到中文附件名 int fjSize = part1.getSize();//附件大小 //附件路径 File fx = null; File fl = new File(filepath); if (fl.exists()==false) fl.mkdir(); this.saveFile(fjName,part1.getInputStream(),filepath); } }catch(Exception e) { System.out.println(e); } }----------------------- public static String encode(String UnCharset){ if (UnCharset == null) return null; String charset = null; try{ byte strtemp[] = UnCharset.getBytes("ISO8859_1"); charset = new String(strtemp); }catch(UnsupportedEncodingException _ex){ System.out.println("Encode ISO8859_1 Err:" + _ex); } return charset; } //保存附件 public static void saveFile(String filename,InputStream input,String path)throws IOException{ if(filename==null){ filename=File.createTempFile("xx","out").getName(); } File file = new File( path + filename); for(int i=0;file.exists();i++){ file=new File(filename+i); } FileOutputStream fos=new FileOutputStream(file); BufferedOutputStream bos=new BufferedOutputStream(fos); BufferedInputStream bis=new BufferedInputStream(input); int aByte; while((aByte=bis.read())!=-1){ bos.write(aByte); } bos.flush(); bos.close(); bis.close(); } 这样附件就存到WEB-SERVER上了。然后提供输出附件或者给用户连接。但是要安全验证的话,给连接的方法不好,最好放到WEB方式无法直接访问的目录。 ExtJs表格没有显示数据 求一随机数组字符串排列函数..... 新手提问:如果某个字段为空,该怎么取它呢? servlet如何传参数给jsp? 一个数据库问题,一个背包问题,一个javascript问题!!!帮忙解决下啊!!(急) jsp和flash数据怎么交互?分全给了!!!决不吝啬!! ascii文件转化成propertise文件的那个命令是什么? 不知这样的功能该怎样实现,请大家看看。 web开发用双系统还是虚拟机 初级Java程序员面试技巧和内容举例 一个傻问题 关于JSP的开发工具的请教.
Multipart mp = (Multipart)message[i].getContent();
int mpcount = mp.getCount();
Part part = mp.getBodyPart(0);
xxnr = (String)part.getContent();
//附件
try {
for (int k = 1; k < mpcount; k ++) {
Part part1=mp.getBodyPart(k);
String fjName = this.encode(part1.getFileName());//得到中文附件名
int fjSize = part1.getSize();//附件大小 //附件路径
File fx = null; File fl = new File(filepath);
if (fl.exists()==false) fl.mkdir(); this.saveFile(fjName,part1.getInputStream(),filepath);
}
}catch(Exception e) {
System.out.println(e);
}
}-----------------------
public static String encode(String UnCharset){
if (UnCharset == null) return null;
String charset = null;
try{
byte strtemp[] = UnCharset.getBytes("ISO8859_1");
charset = new String(strtemp);
}catch(UnsupportedEncodingException _ex){
System.out.println("Encode ISO8859_1 Err:" + _ex);
}
return charset;
}
//保存附件
public static void saveFile(String filename,InputStream input,String path)throws IOException{
if(filename==null){
filename=File.createTempFile("xx","out").getName();
}
File file = new File( path + filename);
for(int i=0;file.exists();i++){
file=new File(filename+i);
}
FileOutputStream fos=new FileOutputStream(file);
BufferedOutputStream bos=new BufferedOutputStream(fos);
BufferedInputStream bis=new BufferedInputStream(input);
int aByte;
while((aByte=bis.read())!=-1){
bos.write(aByte);
}
bos.flush();
bos.close();
bis.close();
}
但是要安全验证的话,给连接的方法不好,最好放到WEB方式无法直接访问的目录。