当前位置: 技术问答>java相关
高手请帮忙!!JAVAMAIL开发接收中文附件问题,解决再送100
来源: 互联网 发布时间:2015-08-29
本文导语: File filename = new File(part.getFileName()); String thefilename=filename.getName(); 用上面语句得到附件名,来保存附件到本地服务器上 如果是中文则会出现下面的错误 java.io.FileNotFoundException: C:resin-2.1.4doc/mail/affix/=?gb2312?B?sOy5q9fUtq 7...
File filename = new File(part.getFileName());
String thefilename=filename.getName();
用上面语句得到附件名,来保存附件到本地服务器上
如果是中文则会出现下面的错误
java.io.FileNotFoundException: C:resin-2.1.4doc/mail/affix/=?gb2312?B?sOy5q9fUtq 7r8 1zbMuZG9j?= (文件名、目录名或卷标语法不正确。)
String thefilename=filename.getName();
用上面语句得到附件名,来保存附件到本地服务器上
如果是中文则会出现下面的错误
java.io.FileNotFoundException: C:resin-2.1.4doc/mail/affix/=?gb2312?B?sOy5q9fUtq 7r8 1zbMuZG9j?= (文件名、目录名或卷标语法不正确。)
|
我给你一个方法:用这个方法来取得附件的名字:
public static String getISOFileName(Part body){
//设置一个标志,判断文件名从Content-Disposition中获取还是从Content-Type中获取
boolean flag=true;
if(body==null){
return null;
}
String[] cdis;
try{
cdis=body.getHeader("Content-Disposition");
}
catch(Exception e){
return null;
}
if(cdis==null){
flag=false;
}
if(!flag){
try{
cdis=body.getHeader("Content-Type");
}
catch(Exception e){
return null;
}
}
if(cdis==null){
return null;
}
if(cdis[0]==null){
return null;
}
//从Content-Disposition中获取文件名
if(flag){
int pos=cdis[0].indexOf("filename=");
if(pos
public static String getISOFileName(Part body){
//设置一个标志,判断文件名从Content-Disposition中获取还是从Content-Type中获取
boolean flag=true;
if(body==null){
return null;
}
String[] cdis;
try{
cdis=body.getHeader("Content-Disposition");
}
catch(Exception e){
return null;
}
if(cdis==null){
flag=false;
}
if(!flag){
try{
cdis=body.getHeader("Content-Type");
}
catch(Exception e){
return null;
}
}
if(cdis==null){
return null;
}
if(cdis[0]==null){
return null;
}
//从Content-Disposition中获取文件名
if(flag){
int pos=cdis[0].indexOf("filename=");
if(pos