Добрый день.
Прошу вашей помощи по теме загрузки файлов. Сначала опишу задачу, а потом приведу список того, что пробовал.
Задача: Есть 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
{
// Выводим загруженную картинку и поле для добавления комментария
}
}