2013-02-15 2 views
1

Фон: мне нужно поддерживать несколько загрузок файлов в IE7-9. Я нашел uploadify и FileReader, которые основаны на флэш-памяти. Наша текущая загрузка файла позволяет пользователю выбрать файл, ввести описание и установить флажки. Эти данные все отправляются в загрузочный сервлет одновременно, и сервлет получает данные файла, описание и значения флажка и сохраняет файл на сервере и добавляет запись в базу данных.Добавить двоичные данные в форму html для загрузки

Проблема: uploadify и FileReader оба хотят отправить файл непосредственно на сервер, у меня нет возможности добавить описание или установить любые флаги. Теперь я работал с FileReader и могу перехватить файл, а не отправлять его на сервер. То, что я хотел бы сделать, это получить двоичные данные и поместить их в форму, позволить пользователю добавить описание, а затем отправить форму с данными двоичного файла. Я все уже попробовал просто добавить в форму скрытое поле, но данные, похоже, не прошли.

Если хуже, я думаю, что могу просто загрузить файл, а затем обновить базу данных при отправке формы, я не хочу этого делать, но я думаю, что это сработает. Кто-нибудь знает, чтобы добавить данные файла в форму, а затем, чтобы сервлет распознал эти данные как часть формы?

ответ

1

Вы можете передать данные по стороне вашей загрузки в Uploadify, просто используйте атрибут formData вроде этого (found here):

<input name='someKey' type='text' value='Some Value'/> 
<input type="file" name="file_upload" id="file_upload" /> 
<script> 
$('#file_upload').uploadify({ 
    // Some options 
    'method' : 'post', 
    'formData' : { 'someKey' : $('input[name=someKey]').val() } 
}); 
</script> 
+0

Спасибо вам, что это именно то, что мне было нужно. – Hardy