Ajax с помощью загрузки файла

Я создаю почтовую страницу для отправки писем. Я должен присоединить некоторый файл перед отправкой. Как я мог сделать этот Ajax использования? Первоначально я должен хранить те файлы в сервере, и затем я должен отправить почту. Эти действия, покончили на сингле, отправляют кнопку.

5
задан Craigy 26 August 2012 в 18:04
поделиться

4 ответа

Я надеюсь, что Вы знаете, как нормальные загружают. Назовите загрузку/Чтение и обновление файла, когда нажмут кнопку при помощи вызова ajax. Необходимо отправить локальный путь системного файла как вход, и затем ответ должен содержать путь в сервере или ошибке. Обновите ссылку вложения с ответом в случае, при отсутствии ошибок.

0
ответ дан 18 December 2019 в 13:20
поделиться

Необходимо динамично создать скрытый iframe в DOM и поставить цель формы загрузки к этому iframe., не забывают устанавливать метод формы для POST.

Вы могли сделать и загрузку и поле сообщения, заполняющееся сразу.

необходимо определенно проверить готовые компоненты, делающие это для библиотеки JavaScript по Вашему выбору.

0
ответ дан 18 December 2019 в 13:20
поделиться

Взгляд ниже отрывка, которые отправляют текстовые данные и присоединенные мультифайлы. Эти content-type='multipart/form-data' установлен браузером автоматически, имя файла добавляется автоматически также к filename параметр FormData (и может быть легкое чтение сервером).

async function sendEmail() {
  let formData = new FormData();
  let msg = { message: emailText.value };
 
  formData.append("email", JSON.stringify(msg)); 
  [...attachment.files].map(
    (file,i) => formData.append("file"+i, file)
  );

  try {
    await fetch('your/api/upload/email', { method: "POST", body: formData });
    alert("Email was send!");
  } catch(e) {
    alert("Problem with email sending");
  }
}
<textarea id="emailText" placeholder="Type message here"></textarea><br>

<input type="file" id="attachment" multiple /><br><br>
<input type="button" value="Send email" onclick="sendEmail()" />

<br><br><span style="color:red">In this snippet API not exists so exception will be thrown but you can look on your request in:<br> chrome console> network tab</span>
0
ответ дан 18 December 2019 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: