Tag: mime

Websphere Application Server 7中的HTTP标头Mime类型

我有一个Spring Web应用程序,用户可以下载PDF和Excel文件。 我为它们设置了HTTP标头: HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.setContentType(MediaType.parseMediaType(“application/vnd.ms-excel”)); responseHeaders.setContentLength(fileSize); responseHeaders.set(“Content-Disposition”, “attachment”); responseHeaders.add(“Content-Disposition”, “filename=\”” + encodedFileName + ‘\”‘); 这在Tomcat上工作正常(HTTP响应是mime类型application / vnd.ms-excel)。 但是在Websphere 7上,服务器始终返回此请求的内容类型:text / html。 我已经在web sphere虚拟主机中注册了excel内容类型,但这不会改变任何内容。 我错过了什么?

RFC 2388多部分POST的服务器实现与RFC 2047冲突?

我正在尝试在HTTP服务器上实现RFC 2388以支持多部分POST。 我正在专门针对content-disposition的“name”参数查看规范。 根据RFC 2388第3节,它规定: 最初在非ASCII字符集中的字段名称可以使用RFC 2047中描述的标准方法在“name”参数的值内编码。 我已经“听说”UA目前在表单控件名称上不支持RFC2047。 他们只需发送原始编码的文本。 (即如果表单控件的名称是使用UTF-8的日语,它将发送带有UTF-8中的日语文本的多部分POST请求) 然而,为了“忠实”,这有一天会得到解决。 我更喜欢坚持使用RFC。 但问题来自RFC 2047本身。 根据第5(3)条规定: “编码字”不得出现在“addr-spec”的任何部分。 “编码字”绝不能出现在“引用字符串”中。 “编码字”不得在“已接收”标题字段中使用。 “编码字”不得用于MIME内容类型或内容处置字段的参数,也不得用于“评论”或“短语”中的任何结构化字段正文中。 冲突发生在第4点。 鉴于’name’参数是“content-disposition”字段的一部分。 我发现自己迷失了规范要求我们实现者做什么。 无论什么在“现实”中起作用/不起作用。 我想问一下是否有人发现这也是冲突。 我发现自己也在问为什么RFC 2388仍然将RFC 2047称为“name”参数,但稍后只有几段后面将RFC 2231称为“filename”参数的编码规范。 鉴于RFC 2047不能用于“参数值”,这就是显然创建RFC 2231的原因。 RFC 2388是否也未更新,因此“name”参数使用RFC 2231。 最重要的是,我应该或者不应该为实现RFC 2388的function而实施RFC 2047 AT ALL而烦恼吗? 我是否还应该使用RFC 2231来处理’filename’参数? 有没有人知道任何UAs目前是否使用RFC 2231来上传非ascii文件名?

通过mime4j解析电子邮件附件

我正在使用一个小的java smtp库( http://code.google.com/p/subethasmtp/ ),我需要在单独的组件中解析传入的电子邮件,即正文,附件等。 我正在尝试使用mime4j,但文档建议mime4j只能提供事件通知或令牌通知,而不是其他任何内容。 为了剥离正文和附件等,我必须在事件处理程序中使用我自己的自定义逻辑。 我的观察是否正确? 如果是,那么我如何使用mime4j来满足我的要求。 请建议。 我非常需要一种接受smtp数据流的方法,并在java中以完全解析的forms返回一系列附件引用或流。 请帮忙。 提前致谢 Ashish Sharma

在数据库中转换嵌入的图片

我有一个’小’的问题。 在数据库文档中包含richtextfield。 richtextfield包含某个联系人的个人资料图片。 问题是这个内容没有保存为mime,因此我无法计算图像的url。 我正在使用pojo从人员配置文件中检索数据,并在我的xpage控件中使用它来显示其内容。 我需要构建一个转换代理,它接受richtextitem的内容并将其转换为mime,以便能够计算类似于url的内容 http://sofzh.miximages.com/java/tln(Create mime entity); MIMEEntity mEntity = doc.createMIMEEntity(PictureTest); MIMEHeader cdheader = mEntity.createHeader(Content-Disposition); System.out.println(Set header withfilename picture.gif”); cdheader.setHeaderVal(“attachment;filename=picture.gif”); System.out.println(“Setcontent type header”); MIMEHeader cidheader = mEntity.createHeader(“Content-ID”); cidheader.setHeaderVal(“picture.gif”); System.out.println(“Set content from stream”); mEntity.setContentFromBytes(nStream, “application/gif”, mEntity.ENC_IDENTITY_BINARY); System.out.println(“Save document..”); doc.save(); //s.setConvertMime(true); System.out.println(“Done”); // Clean up if we are done.. //doc.removeItem(fieldName);

阅读mime multipart的身体部分

好吧所以我使用.getcontent并收到javax.mail.internet.MimeMultipart@fd13b5等。 我知道我的代码中需要这样的东西,但我不知道到底需要什么。 if (p.isMimeType(“text/plain”)) { pr(“This is plain text”); pr(“—————————“); if (!showStructure && !saveAttachments) System.out.println((String)p.getContent()); } else if (p.isMimeType(“multipart/*”)) { pr(“This is a Multipart”); pr(“—————————“); Multipart mp = (Multipart)p.getContent(); level++; int count = mp.getCount(); for (int i = 0; i < count; i++) dumpPart(mp.getBodyPart(i)); level–; } else if (p.isMimeType("message/rfc822")) { pr("This is a Nested Message"); […]

如何使用javax.mail读取邮件正文中的文本

我正在使用javax.mail开发客户端邮件来读取邮箱内的邮件: Properties properties = System.getProperties(); properties.setProperty(“mail.store.protocol”, “imap”); try { Session session = Session.getDefaultInstance(properties, null); Store store = session.getStore(“pop3”);//create store instance store.connect(“pop3.domain.it”, “mail.it”, “*****”); Folder inbox = store.getFolder(“inbox”); FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false); inbox.open(Folder.READ_ONLY);//set access type of Inbox Message messages[] = inbox.search(ft); String mail,sub,bodyText=””; Object body; for(Message message:messages) { mail = message.getFrom()[0].toString(); sub = […]

使用JavaMail在电子邮件中嵌入图像

我想使用javamail发送带有内嵌图像的电子邮件。 我正在做这样的事情。 MimeMultipart content = new MimeMultipart(“related”); BodyPart bodyPart = new MimeBodyPart(); bodyPart.setContent(message, “text/html; charset=ISO-8859-1”); content.addBodyPart(bodyPart); bodyPart = new MimeBodyPart(); DataSource ds = new ByteArrayDataSource(image, “image/jpeg”); bodyPart.setDataHandler(new DataHandler(ds)); bodyPart.setHeader(“Content-Type”, “image/jpeg; name=image.jpg”); bodyPart.setHeader(“Content-ID”, “”); bodyPart.setHeader(“Content-Disposition”, “inline”); content.addBodyPart(bodyPart); msg.setContent(content); 我也试过了 bodyPart.setHeader(“inline; filename=image.jpg”); 和 bodyPart.setDisposition(“inline”); 但无论如何,图像都作为附件发送,内容处理正在变成“附件”。 如何使用javamail在电子邮件中内联发送图像?

java库从文件内容中找到mime类型

我正在搜索一个java库,通过查看文件内容(字节数组)告诉你mime类型。 我发现这个项目使用jmimemagic,它不再支持更新的文件类型(例如MS word docx格式),因为它现在处于非活动状态(从2006年开始)。