Отправка изображения в письме без сохранения на сервере?

В проекте все формы сделаны по с использованием jquery ajax и передают данные в post формате php обработчику который шлет письмо. Все было просто, но как теперь, не отходя от такого ajax подхода вложить еще и картинку в письмо? Можно ли передать картинку обработчику?
  • Вопрос задан
  • 2716 просмотров
Пригласить эксперта
Ответы на вопрос 2
svd71
@svd71
запросто. в текст письма вставляете html-код с тегом img. Только в атрибут src нужно писать не линк, а данные картинки. Вот пример с base64 кодированием.
Ответ написан
@starosta6123
Обсуждение этого вопроса.

stackoverflow.com/questions/166221/how-can-i-uploa...

Еще на эту тему: habrahabr.ru/post/109079

Для таких задач уже есть плагины. Посмотрите JqueryForm, например.

Ваша задача сводится к следующему:
1. Получить содержимое файла. Для этого используйте событие onchange и FileReader().
2. Формируем запрос и отправляем на сервер. Используйте, например, XMLHttpRequest().
3. Сервер получает запрос и формирует письмо. Это просто, в идеале ничего не должно меняться.

Другой способ для старых браузеров:
1. Создаем скрытый <iframe name="sender"></iframe>
2. У формы добавляем target="sender".
3. Отправляем форму как обычно.

Для гарантированной отправки я бы сделал следующим образом:
В шаблоне сделал бы как для старых браузеров, а потом, если браузер поддерживает все нужные "плюшки", то удалял бы target и вешал бы нужные обработчики.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы