Tag: multipart

多部分请求/响应java

我有一个任务来实现发送http多部分请求和解释http多部分响应。 我决定从响应开始,因为我只需要收到响应并解析它。 我没有那么多的java经验,甚至更少的HTTP经验,这就是为什么我读了一些关于这个主题的文章和其他东西,但我还有一些未解决的问题: 据我所知,内容类型multipart用于文件上传,发送电子邮件附件等。我在google中找到的大多数post都是使用multipart / form-data进行文件上传的。 在其他情况下使用这种内容类型? 我决定从HTTP多部分响应开始,但我意识到我不知道为了接收具有这种内容类型的响应我必须做什么。 我的请求怎么样?我要求这个请求怎么办? 我只想在java中编写一个简单的程序,它向服务器发送一个HTTP请求,并且收到的响应是内容类型的multipart。 如果有人可以向我澄清这些事情会很好,因为我觉得我误解了一些事情。 先谢谢你!

如何使用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 = […]

将MultipartFile转换为java.io.File而不复制到本地计算机

我有一个Java Spring MVC Web应用程序。 从客户端到AngularJS,我上传文件并将其作为webservice发布到Controller。 在我的控制器中,我将其作为MultipartFile获取 ,我可以将其复制到本地计算机。 但我想将文件上传到Amazone S3存储桶。 所以我必须将其转换为java.io.File 。 现在我正在做的是,我将它复制到本地机器,然后使用jets3t上传到S3。 这是我在控制器中转换的方式 MultipartHttpServletRequest mRequest=(MultipartHttpServletRequest)request; Iterator itr=mRequest.getFileNames(); while(itr.hasNext()){ MultipartFile mFile=mRequest.getFile(itr.next()); String fileName=mFile.getOriginalFilename(); fileLoc=”/home/mydocs/my-uploads/”+date+”_”+fileName; //date is String form of current date. 然后我使用SpringFramework的FIleCopyUtils File newFile = new File(fileLoc); // if the directory does not exist, create it if (!newFile.getParentFile().exists()) { newFile.getParentFile().mkdirs(); } FileCopyUtils.copy(mFile.getBytes(), newFile); 因此它将在本地计算机中创建一个新文件。 那个文件我在S3上面了 S3Object […]

在客户端接收多部分响应(ClosableHttpResponse)

我有一个java控制器,它必须向我发送一些文本数据和不同的字节数组。 所以我正在构建n多部分请求并将其写入来自HttpServletResponse的流。 现在我的问题是如何在客户端解析响应并提取多个部分。 服务器代码SNIPPET: – MultipartEntityBuilder builder = MultipartEntityBuilder.create(); // Prepare payload builder.addBinaryBody(“document1”, file); builder.addBinaryBody(“document2”, file2); builder.addPart(“stringData”, new StringBody(jsonData, ContentType.TEXT_PLAIN)); // Set to request body HttpEntity entity = builder.build(); postRequest.setEntity(entity); 客户代码SNIPPET: – HttpPost httpPost = new HttpPost(finalUrl); StringEntity entity = new StringEntity(json); httpPost.setEntity(entity); httpPost.setHeader(“Content-type”, APPLICATION_JSON_TYPE); ByteArrayOutputStream baos = new ByteArrayOutputStream(); CloseableHttpResponse response = httpClient.execute(httpPost); InputStream […]

Multipart文件上传Spring Boot

我使用Spring Boot并希望使用Controller来接收多部分文件上传。 发送文件时,我不断收到错误415不支持的内容类型响应,并且永远不会到达控制器 There was an unexpected error (type=Unsupported Media Type, status=415). Content type ‘multipart/form-data;boundary=—-WebKitFormBoundary1KvzQ1rt2V1BBbb8’ not supported 我尝试使用form:action在html / jsp页面中以及在使用RestTemplate的独立客户端应用程序中发送。 所有尝试都给出了相同的结果 multipart/form-data;boundary=XXXXX not supported. 从多部分文档看来,边界参数必须添加到分段上传,但这似乎与接收”multipart/form-data”的控制器不匹配 我的控制器方法设置如下 @RequestMapping(value = “/things”, method = RequestMethod.POST, consumes = “multipart/form-data” , produces = { “application/json”, “application/xml” }) public ResponseEntity submitThing(HttpServletRequest request, @PathVariable(“domain”) String domainParam, @RequestParam(value = “type”) String thingTypeParam, @RequestBody […]

使用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在电子邮件中内联发送图像?