Как показать уведомление javascript во время загрузки изображения / файла? - PullRequest
2 голосов
/ 06 февраля 2010

У меня есть окно загрузки, которое используется для загрузки изображения. Я хочу ограничить загрузку изображения определенного размера. Например, пользователь не может загрузить изображение, которое больше, чем допустимая ширина, высота. Если кто-то пытается выбрать такое, то я хочу показать ему сообщение на стороне клиента, используя JavaScript перед загрузкой изображения

Так что вы можете иметь некоторое представление об этом. Я использую следующие инструменты для моего проекта

  • Codeigniter
  • Jquery

спасибо заранее.

Ответы [ 5 ]

1 голос
/ 06 февраля 2010

Это может быть элемент управления ActiveX или подписанный клиентский Java-апплет, но для его запуска требуется разрешение пользователя.

1 голос
/ 06 февраля 2010

Это не совсем то, что вы хотели, но вы можете использовать функцию PHP getimagesize(), чтобы получить размеры после загрузки. Если он слишком большой, вместо того, чтобы копировать его из временной папки в папку для выгрузки, вы можете выдать ему ошибку.

Просматривая архивы StackOverflow, я не могу найти решение с помощью Javascript.

0 голосов
/ 06 февраля 2010

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

<input type="hidden" name="MAX_FILE_SIZE" value="size-in-kb" />

чем при загрузке php, он заметит, что файл даже не был загружен, потому что он слишком большой. Больше здесь: http://forums.devshed.com/php-development-5/max-upload-size-how-to-give-notice-to-user-500259.html

0 голосов
/ 06 февраля 2010

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

http://dev.w3.org/2006/webapi/FileAPI/

https://developer.mozilla.org/en/Using_files_from_web_applications

0 голосов
/ 06 февраля 2010

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

РЕДАКТИРОВАТЬ: Для последнего, вы можете использовать что-то вроде этот скрипт . В файле на стороне сервера используйте $_FILES, чтобы получить файл, затем getimagesize(), чтобы получить размер. Если размер действителен, сохраните файл, и все готово для загрузки. Если нет, отобразите сообщение об ошибке, и оно будет передано в JavaScript в режиме обратного вызова, где вы сможете предварительно откорректировать и отобразить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...