Я пишу простой почтовый клиент для почтового сервера Gmail, и я хотел бы иметь возможность загружать вложения через веб-интерфейс, созданный с помощью JS.
Я загрузил вложения в локальную папку
private List<File> getAttachmentsFromMessage (Message message, int j) throws IOException, MessagingException {
List<File> attachments = new ArrayList<>();
Multipart multipart = (Multipart) message.getContent();
for (int i = 0; i < multipart.getCount() ; i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
if (Part.ATTACHMENT.equalsIgnoreCase( bodyPart.getDisposition())){
File file = new File("target\\att\\" + j +"_"+ bodyPart.getFileName());
((MimeBodyPart) bodyPart).saveFile(file);
attachments.add(file);
}
}
return attachments;
}
, а затем попробуйте перенести их в веб-интерфейс по ссылкам
for (let j = 0; j <links_to_attachments.length ; j++) {
attachment_holder = document.createElement('div');
let a = document.createElement('a');
a.setAttribute('href','http://localhost/javaProjects/CRM/target/att/1_att1.docx');
a.download = '1.docx';
a.appendChild(document.createTextNode('link'));
attachment_holder.appendChild(a);
}
Но этот метод не сработал.
А также, кажется, нет никакой возможности получить прямую ссылку на вложение.
Не могли бы вы помочь мне с этой проблемой? Как я могу загрузить эти вложения по ссылкам?