如何拦截 url 文件并将其附加到邮件
How to intercept url file and attach it to mail
我有一些代码
String url = http://site/some-file.pdf
HttpURLConnection fileRequest = (HttpURLConnection) new URL(fileUrl).openConnection();
Path file = Files.createFile(Paths.get("mydirectory" + "filename" +".pdf"));
Files.write(file, IOUtils.toByteArray(fileRequest.getInputStream()));
此代码从 url 获取文件并将其写入我的本地家庭(例如磁盘 D)
如何在不保存到本地的情况下附加到邮件发件人?可能吗?
您可以使用 javax.activation.URLDataSource:
Part attachment = new MimeBodyPart();
URL url = new URL("http://site/some-file.pdf");
URLDataSource uds = new URLDataSource(url);
attachment.setDataHandler(new DataHandler(uds));
attachment.setDisposition(Part.ATTACHMENT);
attachment.setFileName(url.getFile());
根据文档,您可以通过使用 DataHandler
和 URL
来简化该代码
Part attachment = new MimeBodyPart();
URL url = new URL("http://site/some-file.pdf");
attachment.setDataHandler(new DataHandler(url));
attachment.setDisposition(Part.ATTACHMENT);
attachment.setFileName(url.getFile());
我有一些代码
String url = http://site/some-file.pdf
HttpURLConnection fileRequest = (HttpURLConnection) new URL(fileUrl).openConnection();
Path file = Files.createFile(Paths.get("mydirectory" + "filename" +".pdf"));
Files.write(file, IOUtils.toByteArray(fileRequest.getInputStream()));
此代码从 url 获取文件并将其写入我的本地家庭(例如磁盘 D)
如何在不保存到本地的情况下附加到邮件发件人?可能吗?
您可以使用 javax.activation.URLDataSource:
Part attachment = new MimeBodyPart();
URL url = new URL("http://site/some-file.pdf");
URLDataSource uds = new URLDataSource(url);
attachment.setDataHandler(new DataHandler(uds));
attachment.setDisposition(Part.ATTACHMENT);
attachment.setFileName(url.getFile());
根据文档,您可以通过使用 DataHandler
和 URL
Part attachment = new MimeBodyPart();
URL url = new URL("http://site/some-file.pdf");
attachment.setDataHandler(new DataHandler(url));
attachment.setDisposition(Part.ATTACHMENT);
attachment.setFileName(url.getFile());