Загрузка нескольких файлов с проверкой md5 перед загрузкой

Я создаю веб-страницу, для которой мне нужна реализация многофайловой загрузки, которая может хэш файл перед загрузкой на сервер.

Идея состоит в том, что пользователи могут загружать файлы, которые могут или не могут существовать на сервере. Чтобы сохранить пропускную способность, я хочу записать файл перед загрузкой на сервер, отправить хэш через POST и только продолжить загрузку, если сервер отвечает, что у него нет файла с этим хешем.

Есть ли какие-либо бесплатные Flash-реализации (я полагаю, что JavaScript не сможет загрузить файл и hash it), который может работать для меня?

Ответ 1

Вы можете читать файлы в Javascript, API FileReader в HTML5 выполнит эту работу для вас.

Затем подайте строку base64 в функцию b64_md5(), предоставленную этой библиотекой: http://pajhome.org.uk/crypt/md5/instructions.html

Обратите внимание, что это может занять много времени, если файл слишком большой. Вам также может понадобиться WebWorkers, чтобы сделать фон континуума.