#jquery #php #javascript
Программирую файлообменник, чтобы восстановить пробелы в знаниях и узнать много нового. Господа, опять много вопросов: Как заставить пользователя не посмотреть, а скачать картинку, текст, при клике на ссылку? Как это делается в гуглопочте, к примеру. Так и не нашел способа проверить размер файла до загрузки на сервер, выбранный через хтмл файловый инпут (форму). Способ, признанный решением в прошлом моем вопросе, оказывается, работает далеко не во всех браузерах. Как добавить значение переменной в буфер обмена на javascript, jquery? Возможно ли это? Можно ли как-то реализовать шкалу процесса загрузки файла на сервер через javascript, jquery? Или только флэш и схожие технологии, типа сильверлайт? Хочется от Вас не готового кода, а мануалов, решений и предложений, что гуглить, читать. Благодарю.
Ответы
Ответ 1
@Gorets, а в чем дело?! 1) header('Content-Disposition: attachment; filename="filename"'); 2) Никак. Универсальных способов нет, а те, которые могут помочь легко обмануть. Ограничения все кладете на сервер, соответственно держите лишние 10-20 максимальных объемов, которые можно успеть залить за время взаимодействия с сервером. Пример: максимальное время запроса - минута, максимальная скорость на вход - 100мбит/с. Итог: у вас должно быть свободно ~8-15 гиг. 3) Кукисы. С буфером обмена, к счастью, JS работать не умеет (ActiveX не в счет). 4) Универсальных способов нет. Некоторые браузеры это умеют, типа лисы, но не все.Ответ 2
Нажал сразу на "отправить на сервер" и ничего не выбирал Файлы данного вида запрещены к загрузке на сервер, сожмите его в .rar или в .zip архив. И дальше закрыл страницу.Ответ 3
Ну первую "проблему" можно решить гораздо гибче с помощью волшебного .htaccess: AddType application/octet-stream .rar .doc .mov .avi .pdf .xls .mp4 Как понятно, это список файлов, котрые будут предлагаться сохранять, а не открывать в браузере. Зато не придется каждый раз отправлять хедеры. Четвертую можно решить на HTML5 progress`ом.Ответ 4
По поводу четвертого вопроса - http://php.net/manual/en/session.upload-progress.php
Комментариев нет:
Отправить комментарий