- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Нет заявлений более убедительных чем нелепые.
Ну-ну. Читаем что по ссылке, которую вы дали:
То есть некий браузер дает возможность аплоадить своими встроенными средствами файл, дает интерфейс для JS для этой фичи, и уже становится постулатом, что через AJAX можно грузить файлы. Самим-то не смешно?
Еще раз повторяю: AJAX не позволяет загружать файлы на сервер. Есть способы обхода ограничения. Самый популярный - создание iframe. Упомянутый jquery использует именно этот способ.
Итак, malls, раз уж выступили с таким смелым заявлением, ждем от вас примера кода загрузки файла на сервер с использованием асинхронной загрузки файла на сервер без использования iframe.
То же самое относится к ТС:
Самим-то не смешно?
А PHP не дает возможности выводить данные в консоль. Есть правда способ обойти это ограничение, например через echo, print и т.д. Но из этого ничего не следует.
Посмеемся вместе?
ЗЫ: Давайте расставим точки над ё - если технология позволяет (не важно каким способом) получить результат, то и этого однозначно следует что технология НЕ ИМЕЕТ органичений в достижении данного результата. И все прочие мудрствования вокруг этого - не более чем флуд.
Или Вы считаете что ВСЕ функции ВСЕХ языков программирования это не есть по сути различные способы обхода, различных узких мест? Вам только документированые в оригинальных источниках подавай? И пока тот же jquery не превратится в неотъемлимую часть JavaScript (а к тому ИМХО идет), вы будете упорно утверждать что JS ЭТОГО не может?
Вот людям нравится спорить...
Короче говоря, единого, рабочего для всех браузеров способа прочитать размер файла в инпуте на стороне клиента средствами JS+HTML нет. На самом деле даже отправка файла на сервер только для проверки его размера - полная ерунда, особенно если файл весит больше метра.
Итак, malls, раз уж выступили с таким смелым заявлением, ждем от вас примера кода загрузки файла на сервер с использованием асинхронной загрузки файла на сервер без использования iframe.
То же самое относится к ТС:
http://www.captain.at/ajax-file-upload.php а это что по твоему тогда?
http://www.captain.at/ajax-file-upload.php а это что по твоему тогда?
Вы наверное не читали процитированные слова на английском. Попробуйте сделать это браузером, отличным от Mozilla Firefox. Решение, работающее только в одном браузере в определенных условиях - не решение.
http://www.captain.at/ajax-file-upload.php а это что по твоему тогда?
Об этом у уже писал выше
psylosss добавил 28.01.2009 в 18:33
malls, это все пустой флуд. Я попросил показать кусок кода, позволяющий делать то, о чем вы заявили. В популярных браузерах, без танцев с бубном вокруг безопасности. И на чистом AJAX без ифреймов. Слабо?
Ладно, бесполезно с вами спорить тут, время только терять, да и собственно тема не о этом, а о том как выявить размер загружаемого файла перед отправкой. Всё равно уже решил задачу. ) так что свои мнения держите при себе, если не реализуется в мазиле это не значит, что задача не осуществима вообще, не о кросбраузерности речь шла, а о способе. Вопрос закрыт, спасибо за помощь всем. psylosss отдельный респек.
KosoyRoman добавил 28.01.2009 в 18:39
psylosss в том то и дело что вся заноза в безопасности ) возможно ты не так всё понял ) я сам именно этим вопросом и интересовался.
KosoyRoman, ну ежели хоть как-нибудь, да с отключением безопасности в браузере, то наверное есть способы (минимум два выше нашли). Только не гуд это. Юзайте swfupload, там на раз-два все делается.
А суть обоих вопросов в одном - как через JS получить доступ к локальному файлу. Если есть этот доступ, то конечно его и аплоадить можно, и размер посчитать, и даже изменить, если права есть. Но только в 99,999999% случаев этого доступа нет, если только какой-нибудь экспериментатор не прибьет систему безопасности браузера.
При кроссбраузерном аплоаде размер легко вычисляется с помощью перла.
Ибо он получает Content-length до начала своего исполнения.
А всякая мишура, навроде прогресс-баров, прикручивается уже с помощью аяксов и пр.
Т.е. отправляем файл перловому скрипту, который первом делом пишет либо в сессию, либо тупо в файл размер аплоада.
А уже аяксом с пхп читаем этот файл и получаем его размер.
использованием асинхронной загрузки файла на сервер
асинхронной загрузки файла хоть с фреймами хоть без - небывает. Отправка формы <FORM> независимо POST/GET - всегда интреактивна, а следовательно - синхронна.
а о том как выявить размер загружаемого файла перед отправкой
можно получать но не перед, а в самом начале отправки.
Рассказываю как делал. Работаю на перле, посему код приводить не считаю нужным. Общая идея следующая:
1. Отправляем форму с файлом и запускаем AJAX запросы к серверу по таймеру, допустим каждые 5 секунд.
2. Серверный скрипт, получающий файл, начинает его получать и записывать, одновременно получив информацию о размере входного буфера. (В этом случае, размер буфера равен размеру файла).
3. Серверный скрипт к которому обращается AJAX запрос, возвращает итоговый размер файла и полученный объем для термометра загрузки.
4. Если объем файла больше допустимого, обрываем отправку файла и чистим входной буфер сервера.
T.R.O.N добавил 28.01.2009 в 21:22
Ибо он получает Content-length до начала своего исполнения.
Вы правы, но фраза просто пипец... Исполняемый скрипт что-то получает до начала исполнения. Начали умничать, пишите правильно. Content-length - серверная переменная..., а перл и прочее - это уже потом.
P.S. - флешовые способы пробовал, непонравились. AJAX - все проще и надежней