Проведя несколько минут в Firebug, кажется, есть несколько способов сделать это. Например, я смог получить список файлов из самого fileObject:
var file = $("#control").attr("files")[0];
var fileName = file.fileName;
var fileSize = file.fileSize;
alert("Uploading: "+fileName+" @ "+fileSize+"bytes");
Ясно, что я могу прочитать значения для сериализации. Но письмо - это еще одна проблема.
Но, очевидно, это не так просто, как утверждают другие. Я взял на себя смелость загрузить исходный код Prototype и не смог узнать, где находятся инструкции по использованию данных FileList для объекта File Upload.
На самом деле я нашел в Интернете статью, в которой каталогизировались проблемы с сериализацией самого объекта выгрузки файлов, утверждая, что ни одна библиотека AJAX не справилась с этой задачей (обратите внимание, это было написано в 2007 году). Хотя эта тема интересна, и, похоже, вы сможете использовать любое количество методов для извлечения данных из файла загрузки - сама спецификация содержит достаточно информации, чтобы направить вас по этому пути.
Хотелось бы, чтобы у меня был ответ о том, как вы можете писать и добавлять файлы в Список файлов, но в данный момент я так же потерян, как и вы (или когда я задавал этот вопрос). С немного большим чтением, это может оказаться намного проще, чем я подозреваю, но на данный момент у меня нет времени инвестировать.
Удачи.
Соответствующая документация:
- Загрузка файла на W3C
- Сериализация формы Гарреттом Смитом, 2007
- Прототип 1.6.1RC3 Источник (строка 3967: начинается Form.serializeElements)