This question already has answers here:
Exception in thread “main” java.nio.file.InvalidPathException: Illegal char <:> at index 2:
(4个答案)
去年关闭。
在发送带有附件的电子邮件时,出现错误。它与本地系统文件位置(例如C://PrepaidEMFiles//invoice123.pdf)工作正常,但是当我使用(http://182.18.177.27:78/PrepaidEMFiles/invoice1547033786877.pdf)位置时,我得到了错误。下面是我的代码。
我尝试了各种方式来忽略“ \”喜欢(
提前致谢!!
我尝试了各种方法来获取带有URL url = inputstream示例的文件。但是我正在将二进制文件作为附件。仍然没有用。
完成错误:
java.nio.file.InvalidPathException:索引4处的非法char :
我需要位于远程的pdf文件才能将其发送到电子邮件附件。
(4个答案)
去年关闭。
在发送带有附件的电子邮件时,出现错误。它与本地系统文件位置(例如C://PrepaidEMFiles//invoice123.pdf)工作正常,但是当我使用(http://182.18.177.27:78/PrepaidEMFiles/invoice1547033786877.pdf)位置时,我得到了错误。下面是我的代码。
try{
`enter code here`....
String samplePdf =
"http://182.18.177.27:78/PrepaidEMFiles/invoice1547033786877.pdf";
FileSystemResource file = new FileSystemResource(samplePdf);
helper.addAttachment(file.getFilename(), file);
} catch (MessagingException e) {
LOGGER.error("Exception in sending mail", e);
exceptionHandlerDao.exceptionHandlineCode(e, "SENDING EMAIL FOR " +
inventoryName + " FOR RECHARGE A DEVICE", "");
}
sender.send(message);
}
我尝试了各种方式来忽略“ \”喜欢(
eg.http:\\\\182.18.177.27:78\\PrepaidEMFiles\\invoice1547033786877.pdf) but still getting the same error.Could someone please help me with that error.
提前致谢!!
我尝试了各种方法来获取带有URL url = inputstream示例的文件。但是我正在将二进制文件作为附件。仍然没有用。
完成错误:
java.nio.file.InvalidPathException:索引4处的非法char :
http:\182.18.177.27:78\PrepaidEMFiles\invoice1547033786877.pdf
at
sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
at java.io.File.toPath(File.java:2234)
at org.springframework.core.io.FileSystemResource.<init>
(FileSystemResource.java:82)
at
我需要位于远程的pdf文件才能将其发送到电子邮件附件。
最佳答案
问题是您正在使用FileSystemResource,而这不在文件系统上。它是外部托管的URL。您可能应该使用URLResource而不是FileResource。
在here documentation中查看更多
URLResource应该能够理解您拥有的HTTP URL。