думал, что спрашивал об этом раньше, но, наверное, я не спрашивал.
Я изменяю использование моего сайта 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
сделать последнюю проверку работоспособности, чтобы убедиться, что мы не загружаем слишком большой файл. В этом не должно быть необходимости, поскольку обработка ошибок должна предотвращать это, но она возникает раньше - поэтому она остается.