Форма связи с отправкой файла с ограничением
Снова здравствуйте. Попросили меня на сайте переделать форму обратной связи (FormIt+AjaxForm), так чтобы им на почту еще и файлы можно было отправлять через неё. НО с условием, что можно цеплять файл/файлы (кол-во задается) doc|xls|pdf|jpg и до 5 Мб.
Я так понимаю, что для этого этот файл сначала надо на сайт загрузить (чтобы ограничения сработали), а потом прицепить к сообщению и отправить.
Вот не понимаю, как это всё устроить. Допустим, я смогу загрузить файл на сайт (например, через FileAttach), а дальше чего делать? Как их к письму цеплять и после отправки удалять? Нет типового решения еще? Вообще это нужная вещь, на сайтах часто нужно документы отправлять.
Под катом ссылки по теме ↓
Нарыто по теме:
1. Отправка письма на e-mail через сервис MODX modMail
2. FormIt with attachment, max file size and limit file type
3. Attach local file, not from form
4. Отправка файлов
В общем-то там вроде есть решение, я понимаю в общем, но не в частности (понимаю логику, но не конкретные конструкции), короче не джедай.
Продолжаю думать сам…
Я так понимаю, что для этого этот файл сначала надо на сайт загрузить (чтобы ограничения сработали), а потом прицепить к сообщению и отправить.
Вот не понимаю, как это всё устроить. Допустим, я смогу загрузить файл на сайт (например, через FileAttach), а дальше чего делать? Как их к письму цеплять и после отправки удалять? Нет типового решения еще? Вообще это нужная вещь, на сайтах часто нужно документы отправлять.
Под катом ссылки по теме ↓
1. Отправка письма на e-mail через сервис MODX modMail
2. FormIt with attachment, max file size and limit file type
3. Attach local file, not from form
4. Отправка файлов
В общем-то там вроде есть решение, я понимаю в общем, но не в частности (понимаю логику, но не конкретные конструкции), короче не джедай.
Продолжаю думать сам…
Комментарии: 3
Немного запоздало, но возможно пригодится кому-то:
FormIt прекрасно прикрепляет файлы ([type=«file»]) к письму.
В AjaxForm используется компонент jQuery Form Plugin, на странице с документацией (jquery.malsup.com/form/#file-upload) указана информация по загрузке файлов, в том числе с отслеживанием прогресса.
И поэтому чтобы AjaxForm передала файлы в FormIt правильно, необходимо всего лишь указать в форме enctype=«multipart/form-data»
Массовость же файлов можно реализовать на JS, добавлением через копирование input'а, может и не элегантно, зато просто и быстро.
FormIt прекрасно прикрепляет файлы ([type=«file»]) к письму.
В AjaxForm используется компонент jQuery Form Plugin, на странице с документацией (jquery.malsup.com/form/#file-upload) указана информация по загрузке файлов, в том числе с отслеживанием прогресса.
И поэтому чтобы AjaxForm передала файлы в FormIt правильно, необходимо всего лишь указать в форме enctype=«multipart/form-data»
<form method="POST" enctype="multipart/form-data">
И файлы успешно будут загружаться на сервер и отправляться по почте. Естественно работает во всех современных браузерах.Массовость же файлов можно реализовать на JS, добавлением через копирование input'а, может и не элегантно, зато просто и быстро.
Подскажите пожалуйста а как указать типы файлов и максимальный размер для загрузки?
Привет. Через форму можно указать тип, но не размер. Это вообще очень плохой способ, на уровне вёрстки и поддержки браузером.
Тут лучше взять компонент типа AjaxUpload, Uploadify, FileAttach или ms2gallery, там у них есть настройки для размеров и типов, выбирайте для своих задач.
<input type="file" name="photo" multiple accept="image/*,image/jpeg">
Всё конечно же нужно проверять на сервере.Тут лучше взять компонент типа AjaxUpload, Uploadify, FileAttach или ms2gallery, там у них есть настройки для размеров и типов, выбирайте для своих задач.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.