Загрузка файлов на другой сервер
Добрый день.
Прошу вашей помощи по теме загрузки файлов. Сначала опишу задачу, а потом приведу список того, что пробовал. Задача: Есть 2 сервера domain.ru и static.domain.ru, первый непосредственно генерирует код страницы, на втором хранится статическая информация (css, картинки, js). Решил добавить функцию загрузки картинок пользователями, способов много, поэтому на всякий случай решил посоветоваться. Дано: <iframe name="uploader" style="display:none;"></iframe> <form name="visibleFrm" target="uploader" action="//static.domain.ru" method="post" enctype="multipart/form-data"> <input name="img" type="file" /> </form> Тут всё просто, загружаем файл на второй сервер через скрытый фрейм. Загвоздка: После загрузки в зависимости от результата (файл загружен или какая-нибудь ошибка), необходимо сделать запрос на 1 сервер с командой добавить картинку в базу, и вывести форму для добавления комментария к изображению. Реализаций масса: iframe onload, header, script, но какой из них придерживаться? Начинаю плутать когда получаю от iframe результат img7777(новое имя файла) или error-text(текст сообщения об ошибке), как это рациональнее сделать, подскажите пожалуйста. Что сделано: static.domain.ru в фрейм при успешной загрузке отвечает 1234(новое имя картинки) или "Текст ошибки". Знаю как вывести полученную картинку на родительскую сраницу, без перезагрузки и добавить поле для комментария с кнопкой сохранить. Не знаю: Как обработать полученный результат. Знаю как получить текст iframe, не знаю в какой момент это сделать, по какому событию, ведь какое-то время займёт сама загрузка файла. Делал так:
function submitButtonClck()
{
visibleFrm.submit();
var result_text = document.getElementById('frm').contentDocument.body.innerHTML
if(isNan(result_text))
{
alert('Текст ошибки')
}
else
{
// Выводим загруженную картинку и поле для добавления комментария
}
}
|
http://habrahabr.ru/post/114432/
По моему вполне годный вариант для того чтоб отправить запрос на добавление картинки в базу |
| Часовой пояс GMT +3, время: 19:41. |