本文整理汇总了Java中javax.mail.BodyPart.getFileName方法的典型用法代码示例。如果您正苦于以下问题:Java BodyPart.getFileName方法的具体用法?Java BodyPart.getFileName怎么用?Java BodyPart.getFileName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.mail.BodyPart
的用法示例。
在下文中一共展示了BodyPart.getFileName方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: saveAttachMent
import javax.mail.BodyPart; //导入方法依赖的package包/类
/**
* 【保存附件】
*/
public void saveAttachMent(Part part) throws Exception {
String fileName = "";
if (part.isMimeType("multipart/*")) {
Multipart mp = (Multipart) part.getContent();
for (int i = 0; i < mp.getCount(); i++) {
BodyPart mpart = mp.getBodyPart(i);
String disposition = mpart.getDisposition();
if ((disposition != null)
&& ((disposition.equals(Part.ATTACHMENT)) || (disposition
.equals(Part.INLINE)))) {
fileName = mpart.getFileName();
if (fileName.toLowerCase().indexOf("gb2312") != -1) {
fileName = MimeUtility.decodeText(fileName);
}
saveFile(fileName, mpart.getInputStream());
} else if (mpart.isMimeType("multipart/*")) {
saveAttachMent(mpart);
} else {
fileName = mpart.getFileName();
if ((fileName != null)
&& (fileName.toLowerCase().indexOf("GB2312") != -1)) {
fileName = MimeUtility.decodeText(fileName);
saveFile(fileName, mpart.getInputStream());
}
}
}
} else if (part.isMimeType("message/rfc822")) {
saveAttachMent((Part) part.getContent());
}
}
示例2: saveFile
import javax.mail.BodyPart; //导入方法依赖的package包/类
/**
* �����Ĵ������ϴ�
*/
private void saveFile(Message message, BodyPart bp) throws Exception {
String fileName = bp.getFileName();
if ((fileName != null)) {
new File(dir).mkdirs(); // �½�Ŀ¼
fileName = MimeUtility.decodeText(fileName);
String suffix = fileName.substring(fileName.lastIndexOf("."));
String filePath = dir + "/" + UUID.randomUUID() + suffix;
message.attachMap.put(fileName, filePath);
File file = new File(filePath);
BufferedInputStream bis = new BufferedInputStream(bp.getInputStream());
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
int i;
while ((i = bis.read()) != -1) {
bos.write(i);
}
bos.close();
bis.close();
}
}
示例3: getContent
import javax.mail.BodyPart; //导入方法依赖的package包/类
public static String getContent(Part message) throws MessagingException,
IOException {
if (message.getContent() instanceof String) {
return message.getContentType() + ": " + message.getContent() + " \n\t";
} else if (message.getContent() != null && message.getContent() instanceof Multipart) {
Multipart part = (Multipart) message.getContent();
String text = "";
for (int i = 0; i < part.getCount(); i++) {
BodyPart bodyPart = part.getBodyPart(i);
if (!Message.ATTACHMENT.equals(bodyPart.getDisposition())) {
text += getContent(bodyPart);
} else {
text += "attachment: \n" +
"\t\t name: " + (StringUtils.isEmpty(bodyPart.getFileName()) ? "none"
: bodyPart.getFileName()) + "\n" +
"\t\t disposition: " + bodyPart.getDisposition() + "\n" +
"\t\t description: " + (StringUtils.isEmpty(bodyPart.getDescription()) ? "none"
: bodyPart.getDescription()) + "\n\t";
}
}
return text;
}
if (message.getContent() != null && message.getContent() instanceof Part) {
if (!Message.ATTACHMENT.equals(message.getDisposition())) {
return getContent((Part) message.getContent());
} else {
return "attachment: \n" +
"\t\t name: " + (StringUtils.isEmpty(message.getFileName()) ? "none"
: message.getFileName()) + "\n" +
"\t\t disposition: " + message.getDisposition() + "\n" +
"\t\t description: " + (StringUtils.isEmpty(message.getDescription()) ? "none"
: message.getDescription()) + "\n\t";
}
}
return "";
}
示例4: getAttachmentKey
import javax.mail.BodyPart; //导入方法依赖的package包/类
private String getAttachmentKey(BodyPart bp) throws MessagingException, UnsupportedEncodingException {
// use the filename as key for the map
String key = bp.getFileName();
// if there is no file name we use the Content-ID header
if (key == null && bp instanceof MimeBodyPart) {
key = ((MimeBodyPart)bp).getContentID();
if (key != null && key.startsWith("<") && key.length() > 2) {
// strip <>
key = key.substring(1, key.length() - 1);
}
}
// or a generated content id
if (key == null) {
key = UUID.randomUUID().toString() + "@camel.apache.org";
}
return MimeUtility.decodeText(key);
}
示例5: getMainPart
import javax.mail.BodyPart; //导入方法依赖的package包/类
private MimeBodyPart getMainPart() throws MessagingException {
MimeMultipart mimeMultipart = getMimeMultipart();
MimeBodyPart bodyPart = null;
for (int i = 0; i < mimeMultipart.getCount(); i++) {
BodyPart bp = mimeMultipart.getBodyPart(i);
if (bp.getFileName() == null) {
bodyPart = (MimeBodyPart) bp;
}
}
if (bodyPart == null) {
MimeBodyPart mimeBodyPart = new MimeBodyPart();
mimeMultipart.addBodyPart(mimeBodyPart);
bodyPart = mimeBodyPart;
}
return bodyPart;
}
示例6: save
import javax.mail.BodyPart; //导入方法依赖的package包/类
private void save(Store store, String wheretobackup, String f) throws MessagingException, IOException {
System.out.println("opening folder " + f);
Folder folder = store.getFolder(f);
folder.open(Folder.READ_ONLY);
FileUtils.forceMkdir(new File(wheretobackup));
// Get directory
Message message[] = folder.getMessages();
for (int i = 0, n = message.length; i < n; i++) {
// String from = (message[i].getFrom()[0]).toString();
String subj = (message[i].getSubject()).toString();
String nota = (message[i].getContent()).toString();
if (message[i].getContent() instanceof MimeMultipart) {
MimeMultipart multipart = (MimeMultipart) message[i].getContent();
for (int j = 0; j < multipart.getCount(); j++) {
BodyPart bodyPart = multipart.getBodyPart(j);
if (bodyPart.isMimeType("text/html")) {
nota = bodyPart.getContent().toString();
generals.writeFile(wheretobackup + "/" + generals.makeFilename(subj).trim() + ".html", nota, message[i].getSentDate());
} else if (bodyPart.isMimeType("IMAGE/PNG")) {
String imagecid = ((MimePart) bodyPart).getContentID();
InputStream is = bodyPart.getInputStream();
FileUtils.forceMkdir(new File(wheretobackup + "/images/"));
File fimg = new File(wheretobackup + "/images/" + bodyPart.getFileName());
System.out.println("saving " + wheretobackup + "/images/" + bodyPart.getFileName());
FileOutputStream fos = new FileOutputStream(fimg);
byte[] buf = new byte[4096];
int bytesRead;
while((bytesRead = is.read(buf))!=-1) {
fos.write(buf, 0, bytesRead);
}
fos.close();
// devi fare il replace 0DA094B7-933A-4B19-947F-2FC42FA9DABD
System.out.println("html replace file name : " + imagecid);
System.out.println("into file name : " + bodyPart .getFileName());
}
}
} else {
generals.writeFile(wheretobackup + "/" + generals.makeFilename(subj).trim() + ".html", nota, message[i].getSentDate());
}
}
folder.close(false);
}
示例7: getPartFilename
import javax.mail.BodyPart; //导入方法依赖的package包/类
public String getPartFilename(String index) {
BodyPart part = getPart(index);
if (part != null) {
try {
return part.getFileName();
} catch (MessagingException e) {
Debug.logError(e, module);
return null;
}
} else {
return null;
}
}
示例8: createMessage
import javax.mail.BodyPart; //导入方法依赖的package包/类
/**
* Creates a MIME message from a SOAP message.
*
* @param from the 'from' mail address.
* @param to the 'to' mail address(es).
* @param cc the 'cc' mail address(es).
* @param subject the mail subject.
* @param soapMessage the SOAP message.
* @param session the mail session.
* @return a new MIME message.
* @throws ConnectionException if error occurred in constructing the mail
* message.
* @see hk.hku.cecid.piazza.commons.net.MailSender#createMessage(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.mail.Session)
*/
public MimeMessage createMessage(String from, String to, String cc,
String subject, SOAPMessage soapMessage, Session session) throws ConnectionException {
try {
MimeMessage message = super.createMessage(from, to, cc, subject, session);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
soapMessage.writeTo(bos);
String contentType = getContentType(soapMessage);
ByteArrayDataSource content = new ByteArrayDataSource(bos.toByteArray(), contentType);
soapMessage.getAttachments();
boolean hasAttachments = soapMessage.countAttachments() > 0;
if (hasAttachments) {
putHeaders(soapMessage.getMimeHeaders(), message);
MimeMultipart mmp = new MimeMultipart(content);
for (int i=0; i<mmp.getCount(); i++) {
BodyPart bp = mmp.getBodyPart(i);
// encoding all parts in base64 to overcome length of character line limitation in SMTP
InputStreamDataSource isds = new InputStreamDataSource(
bp.getInputStream(), bp.getContentType(), bp.getFileName());
bp.setDataHandler(new DataHandler(isds));
bp.setHeader("Content-Transfer-Encoding", "base64");
}
message.setContent(mmp);
}
else {
DataHandler dh = new DataHandler(content);
message.setDataHandler(dh);
message.setHeader("Content-Transfer-Encoding", "base64");
}
message.saveChanges();
return message;
}
catch (Exception e) {
throw new ConnectionException("Unable to construct mail message from SOAP message", e);
}
}
示例9: doFilter
import javax.mail.BodyPart; //导入方法依赖的package包/类
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
if (req.getHeader(UPLOAD_HEADER) != null) {
Map<String, List<String>> blobKeys = new HashMap<String, List<String>>();
Map<String, List<Map<String, String>>> blobInfos =
new HashMap<String, List<Map<String, String>>>();
Map<String, List<String>> otherParams = new HashMap<String, List<String>>();
try {
MimeMultipart multipart = MultipartMimeUtils.parseMultipartRequest(req);
int parts = multipart.getCount();
for (int i = 0; i < parts; i++) {
BodyPart part = multipart.getBodyPart(i);
String fieldName = MultipartMimeUtils.getFieldName(part);
if (part.getFileName() != null) {
ContentType contentType = new ContentType(part.getContentType());
if ("message/external-body".equals(contentType.getBaseType())) {
String blobKeyString = contentType.getParameter("blob-key");
List<String> keys = blobKeys.get(fieldName);
if (keys == null) {
keys = new ArrayList<String>();
blobKeys.put(fieldName, keys);
}
keys.add(blobKeyString);
List<Map<String, String>> infos = blobInfos.get(fieldName);
if (infos == null) {
infos = new ArrayList<Map<String, String>>();
blobInfos.put(fieldName, infos);
}
infos.add(getInfoFromBody(MultipartMimeUtils.getTextContent(part), blobKeyString));
}
} else {
List<String> values = otherParams.get(fieldName);
if (values == null) {
values = new ArrayList<String>();
otherParams.put(fieldName, values);
}
values.add(MultipartMimeUtils.getTextContent(part));
}
}
req.setAttribute(UPLOADED_BLOBKEY_ATTR, blobKeys);
req.setAttribute(UPLOADED_BLOBINFO_ATTR, blobInfos);
} catch (MessagingException ex) {
logger.log(Level.WARNING, "Could not parse multipart message:", ex);
}
chain.doFilter(new ParameterServletWrapper(request, otherParams), response);
} else {
chain.doFilter(request, response);
}
}
示例10: processRequest
import javax.mail.BodyPart; //导入方法依赖的package包/类
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("Uploader request: path=" + request.getPathInfo() + " querystring=" + request.getQueryString() + " sess=" + request.getSession(false));
int t = 0;
String ct = request.getContentType();
if (ct == null) {
return;
}
if (ct.startsWith("multipart/form-data;")) {
MultipartDataSource src = new MultipartDataSource(request);
MimeMultipart mp;
try {
mp = new MimeMultipart(src);
System.out.println("Got body count " + mp.getCount());
BodyPart bp = mp.getBodyPart(0);
FileOutputStream fout = new FileOutputStream("c:\\temp\\" + bp.getFileName());
bp.getDataHandler().writeTo(fout);
fout.close();
System.out.println("Upload data read complete.");
System.out.println("FileName = " + bp.getFileName());
System.out.println("Disposition = " + bp.getDisposition());
System.out.println("Description = " + bp.getDescription());
System.out.println("Size = " + bp.getSize());
} catch (MessagingException ex) {
ex.printStackTrace();
}
} else {
System.out.println("Uknown content type: " + ct);
/*
ServletInputStream in = request.getInputStream();
int c;
byte[] b = new byte[10240];
while ((c = in.read(b)) != -1) {
// System.out.println ("Read "+c+" bytes");
t += c;
}
System.out.println("UploadServlet data read complete " + t + " bytes");
*/
}
// response.setStatus(response.SC_NO_CONTENT);
}