📄 mimemultipartview.java
字号:
if( entries.length == 0 )
{
if( entry.getContentType().getPrimaryType().equalsIgnoreCase("text") ||
entry.getContentType().getBaseType().equalsIgnoreCase("application/smil") )
{
MimeMultipartEntry.setTextPart(entry, path);
}
else if( entry.getContentType().getPrimaryType().equalsIgnoreCase("image") ||
entry.getContentType().getPrimaryType().equalsIgnoreCase("audio") )
{
MimeMultipartEntry.setFilePart(entry, path);
}
}
else
{
for(int i = 0; i < entries.length; i++ )
{
downloadFileFromEntry(entries[i], path);
}
}
}
/*搜寻一个音乐帧*/
public MimePart getAudioFromMimepart( )
{
return getAudioFromMimepart(this.message);
}
/*搜寻一个音乐帧*/
public MimePart getAudioFromMimepart( MimeMultipartEntry entry )
{
MimeMultipartEntry entries[] = entry.getMultipartEntries();
//System.out.println("MIMEI:"+entry.mimei+" entries-length="+entries.length);
if( entries.length == 0 )
{
if( entry.getContentType().getPrimaryType().equalsIgnoreCase("audio") )
{
if( entry.isExistTempFile() ) return entry;
if( this.tempPath == null ) return null;
try {
MimeMultipartEntry.setFilePart( entry , tempPath);
}
catch(Exception e){
return null;
}
return entry;
}
}
else
{
for(int i = 0; i < entries.length; i++ )
{
if( getAudioFromMimepart(entries[i]) != null )
return entries[i];
}
}
return null;
}
/*搜寻一个图片帧*/
public static MimePart seekImagFromMimepart(
MimeMultipartEntry entry, String path)
{
if( entry.getContentType().getPrimaryType().equalsIgnoreCase("image") )
{
if( entry.isExistTempFile() ) return entry;
try
{
MimeMultipartEntry.setFilePart( entry , path);
}
catch(Exception e)
{
return null;
}
return entry;
}
MimeMultipartEntry entries[] = entry.getMultipartEntries();
//System.out.println("MIMEI:"+entry.mimei+" entries-length="+entries.length);
if( entries.length == 0 )
{
return null;
}
else
{
for(int i = 0; i < entries.length; i++ )
{
if( seekImagFromMimepart(entries[i], path) != null )
return entries[i];
}
}
return null;
}
public static MimeMultipartEntry addSmil( MimeMultipart message, String smil )
{
MimeMultipartEntry part = new MimeMultipartEntry();
try
{
part.setContentType( "application/smil" );
part.setContent( smil.getBytes("UTF-8"), null );
message.addMultipartEntry( part, 0 );
String cid = message.getMessageId();
part.setContentID(cid);
part.setConetntLocation(cid+".smil");
part.getContentType().setParameter( "charset", "UTF-8" );
part.getContentType().setParameter( "name", cid );
part.getContentType().setParameter( "filename", cid+".smil" );
}
catch( Exception e)
{
e.printStackTrace();
return null;
}
return part;
}
public static boolean addHtml( MimeMultipart message, String html)
{
MimeMultipartEntry part = new MimeMultipartEntry();
try
{
part.setContentType( "text/html" );
part.setContent( html.getBytes(), "quoted-printable" );
message.addMultipartEntry( part, 0);
String cid = message.getMessageId()+part.getMimei();
part.getContentType().setParameter( "charset", "gb2312" );
part.getContentType().setParameter( "name", cid );
part.setContentID(cid);
part.setConetntLocation(cid+".html");
//part.setHeader("Trailer", message.getMessageId()+part.getMimei());
}
catch( Exception e)
{
return false;
}
return true;
}
/**
* 增加一个文件
* @param message MimeMultipart
* @param filePath File
* @param cid String
* @return MimeMultipartEntry
*/
public static MimeMultipartEntry addFile(
MimeMultipart message, File filePath, String encoding)
{
MimeMultipartEntry part = new MimeMultipart();
String contentType = "";
String ext = "";
int i = filePath.getName().lastIndexOf('.');
if( i != -1 )
{
ext = filePath.getName().substring( i + 1 );
contentType = MimeUtility.ext2ct(ext);
}
if( contentType.length() == 0 )
{
return null;
}
try
{
FileInputStream fis = new FileInputStream(filePath);
byte buf[] = new byte[fis.available()];
fis.read(buf);
part.setContentType( contentType );
part.setContent(buf, encoding);
message.addMultipartEntry( part );
String cid = message.getMessageId() + part.getMimei();
part.setContentID(cid);
part.setConetntLocation(cid+"."+ext);
part.setFileName(cid+"."+ext);
//part.setHeader("Trailer", message.getMessageId()+part.getMimei());
}
catch(Exception e)
{
return null;
}
return part;
}
/**
* 增加文件到Multipart
* @param path String
* @param cid String
* @return boolean
*/
public static MimeMultipartEntry addFile( MimeMultipart message,
String path , String encoding)
{
MimeMultipartEntry part = new MimeMultipart();
//System.out.println("Add Multipart_Img("+path+","+cid+")");
String contentType = "";
String ext = "";
int i = path.lastIndexOf('.');
if( i != -1 )
{
ext = path.substring( i + 1 );
contentType = MimeUtility.ext2ct(ext);
}
if( contentType.length() == 0 )
{
return null;
}
try
{
//System.out.println("Add Multipart("+path+","+contentType+")");
FileInputStream fis = new FileInputStream(path);
byte buf[] = new byte[fis.available()];
fis.read(buf);
part.setContentType( contentType );
part.setContent(buf, encoding);
message.addMultipartEntry( part );
String cid = message.getMessageId() + part.getMimei();
part.setContentID(cid);
part.setConetntLocation(cid+"."+ext);
// part.setHeader("Trailer", message.getMessageId()+part.getMimei());
part.setFileName(cid+"."+ext);
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
return part;
}
public static MimeMultipartEntry addText( MimeMultipart message, String text ,
String charsets, String encoding)
{
MimeMultipartEntry part = new MimeMultipart();
//System.out.println("Add Multipart_Text("+text+","+cid+")");
try
{
part.setContentType( "text/plain" );
part.getContentType().setParameter( "charset", charsets );
if( charsets != null )
part.setContent( text.getBytes(charsets), encoding );
else
part.setContent( text.getBytes(), encoding );
message.addMultipartEntry( part );
String cid = message.getMessageId() + part.getMimei();
part.setContentID(cid);
part.setConetntLocation(cid+".txt");
part.setFileName(cid+".txt");
//part.setHeader("Trailer", message.getMessageId()+part.getMimei());
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
return part;
}
public void setStart(String start)
{
this.message.getContentType().setParameter("start", start);
}
public String getSubject()
{
return this.message.getHeader("Subject");
}
public void setContentType(String ct) throws MimeException
{
this.message.setContentType(ct);
}
public ContentType getContentType()
{
return this.message.getContentType();
}
public static void main(String[] args)
{
}
public MimeMultipart getMessage()
{
return message;
}
public void setMessage( MimeMultipart message )
{
this.message = message;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -