Определите размер файла после изменения размера Plupload - перед загрузкой - PullRequest
0 голосов
/ 04 января 2019

думал, что спрашивал об этом раньше, но, наверное, я не спрашивал.

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

Решение, которое я придумала, не очень хорошее, поэтому я надеюсь, что у кого-то есть лучший ответ.

Текущее решение:

on FilesAdded - предупредить пользователя, если есть file.size > maxFileUploadSize и установить up.setOption('url', 'fakeUrl'); (fakeUrl выдаст HTTP_ERROR, который мы обрабатываем) Примечание: на этом этапе file.size имеет значение PRE-RESIZE

on Error, если используется fakeUrl, отметьте file.size > maxFileUploadSize (на этом этапе file.size имеет значение POST-RESIZE). Если он достаточно мал up.setOption('url', validUrl); и попробуйте загрузить его еще раз, в противном случае удалите файл из очереди и предупредите пользователя, что файл все еще слишком велик.

на FileUploaded, если еще есть file.size > maxFileUploadSize, установите up.setOption('url', 'fakeUrl');, чтобы повторять процесс с каждым последующим загружаемым файлом

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

...