![]() |
загрузка файлов через флэш на сервер
как загружать файлы на сервер?
у меня есть пример на as2 а как на as3 я и понтия не имею. пыталась переделать, но не получается. может кто ссылку даст или подскажет как нибуть:rolleyes: |
ниже 10й версии флеш не может сам что-то загрузить с компа юзера, может только попросить сделать это браузер, см. FileReference.upload (AS3 вариант ничем принципиально не отличается от AS2-версии)
в 10й версии может и сам загрузить (см. FileReference.load), дальше дело хозяйское - можно и серверу полученные данные оправить (см. URLLoader) примеры в доках имеются, а в сети и подавно.. |
Вложений: 1
я все равно е понимаю как это делается.
когда исправляю то все время разные ошибки выдаются. посмотрите исходник плиз, как это можно переделать на as3. |
>>посмотрите исходник плиз, как это можно переделать на as3.
Не смотрел, тк. имею уже рабочую на AS3 Для тестов нужна программка Apache Пишем для Flex или для Adobe Flash CS4 (версия плеера 10) такой документ класс Код AS3:
также понадобится php файл save-file.php Код:
<?phpПример как это работает (загрузите с компьютера jpg и он автоматом залетит мне на сайт) После выбора файла пройдет некоторое время, должна появиться надпись файл на сервере. http://www.murmadillo.tut.su/m/galle...ndToServer.swf Посмотреть загрузился ли ваш jpg файл мне на сайт можно перейдя по ссылке http://www.murmadillo.tut.su/m/gallery/ |
спасибо!!! работает!!!
а как сделать так чтоб загруженные фото сразу в фото галерее отображались? |
>>а как сделать так чтоб загруженные фото сразу в фото галерее отображались?
В смысле галерейка с такими кнопочками: [назад] [вперед] [стоп] [авто] [добавить рисунок] А не боитесь??? |
ну кикаких копок не нужно :)
мне нужно только чтоб это фото тут же появлялось в фотогалерее. и его можно было бы посмотеть, и ничего больше. нет не боюсь:) а чего боятся? |
ну так нужно галереи подсунуть php файл, который вернет jpg
типа такого Код:
<?phpКод:
package {http://www.murmadillo.tut.su/m/gallery/DocGalery.swf |
а как сделать чтоб фото загружались каждая в отдельный контейнер и при этом выглядела как маленькая превьюшка, а именно меняла размер.
а то у меня чтото странно получается с scаleX и scaleY. фото становится громадным. :( |
а как правильно изменить размер в самом PHP? у меня есть код, но на выходе получается строка, а не jpeg. после добавления header("Content-type: image/jpeg"); php пишет, что заголовки уже добавлены и по-прежнему возвращает строку.
|
Скажите, а где пожно посмотреть все свойства класса FileReference? Например свойство data в хелпе я не нашел (оно наверно наследуется откуда-то:). Вообще мне нужно узнать полное имя выбранного файла (вместе с путем).
|
data доступно к десятой версии флеша.
|
Скажите, а как запустить анимацию во время загрузки файла? Какой-нибудь обычный бегунок, который бы показывал, что файлы грузятся. Нужен не прогрессбар, а простая анимашка :)
Заранее спасибо! |
событие progress
http://help.adobe.com/ru_RU/AS3LCR/F...0.0/index.html |
Когда запустить я знаю :) Я не знаю КАК запустить :)
Можно запустить gif-картинку например? и как это сделать? |
Для анимации предназначены мувиклипы, в нём вы сможете разместить гиф.
Разместите клип с анимацией на сцене - и будет "простая анимашка". |
Ок, получается, что весь интерфейс остается в первом кадре. Я просто перенес картинку(гиф) мышкой в сцену(Drag&Drop). Можно как-то сделать, чтобы анимация воспроизводилась, а кнопка и текстфилды были на месте?
Прошу подробностей, я во флеше вообще нуб, только на actionscript написал аплоадер, а как с графикой работать не знаю. |
Цитата:
Вариант2. Сделайте разные слои. На одном слое пусть воспроизводится анимация. А на других слоях будут лежать другие элементы. |
Вложений: 1
Я пробовал по второму варианту.
Получается, что интерфейс только в первом кадре отображается. Может я неправильно делаю? |
Цитата:
P.S. Ещё аккуратнее со скриптами, написанными в кадрах. Если анимация играется несколько раз - то каждый раз при наступлении кадра скрипт будет выполняться. |
Спасибо большое :)
|
Дабы не плодить похожие темы спрошу здесь.
Сохраняю картинки из флешки на сервере. Флеша шлет пнгшки, пожатые PNGEncoder-ом, пхп сохраняет. Планируется, что в итоге будет около сотни картинок, размером до 350*350 (не больше), которые нужно будет сохранить на серве. Такой вопрос, какой вариант выгоднее, в плане производительности и скорости: 1. Сначала пережать все картинки во флеше, потом, последовательно, с подтверждением получения, послать на серв. 2. Пожали картинку, послали, получили ответ, пожали и послали другую. Интересно ваше мнение. |
А что сказали тесты?
|
Это дело пока в голове. Думаю, какой из вариантов реализовать.
Параллельно еще пара вопросов. 1. Можно ли повесить на URLLoader событие DataEvent.UPLOAD_COMPLETE_DATA? Т.е. хочу прочесть, то что пхп ответил. На FileReference работает, на URLLoader нет. Невозможно? Ответ от пхп приходит в event.target.data по Event.COMPLETE. Выходит комплит вызывается при получении ответа от серва? Я полагал, что по завершению отгрузки. 2. Пожатые PNGEncoder-ом картинки получаются в среднем в 20 раз больше оригинала. А лучше не становятся ) Как побороть? Добавлено через 4 часа 22 минуты Короче протестил сохранение. Примерно одинаково получилось. Даже 2й вариант немного быстрее на пол секунды (15 одинаковых тестовых картинок). Само сжатие в 1м варианте занимало от 500 до 1,5к мс, в зависимости от набора картинок. Думаю 2й более приемлем, т.к. не храним массив из кучи ByteArray. |
Цитата:
|
morgenshtern, а как вы читаете ответ сервера при FileReference.upload()?
|
>>morgenshtern, а как вы читаете ответ сервера при FileReference.upload()?
надо к FileReference прицепить листенер Event.Complete, а сервера - никак. |
Alex Lexcuk, очень познавательно, но хотелось бы узнать какие есть ограничения на размер загружаемого файла и от чего эти ограничения зависят. Мне нужно с помощью флеша передать на сервер файл размером в 1Гиг.
P.s.: приведенный в 4-м сообщениии пример справился с 5Mb, но 50Mb не осилил. |
Цитата:
|
По умолчанию PHP разрешает загрузку файлов до 2 Мб, обычно расширяют до 8 Мб.
Что бы поменять это число надо либо править php.ini либо прописать в .htaccess соответствующее правило. Но если у Вас бесплатный хостинг то увы Вам |
Уточню что при загрузке картинки в 50Mb возникала следущая ошибка actionscript:
Цитата:
Цитата:
|
Alex Lexcuk, Спасибо за код!
|
О, какая хорошая тема...
Alex Lexcuk, А как изображение, которое заносится записать в бд? и что будет, если в вашем случае имена изображений будут одинаковые? |
Цитата:
|
спасибо...полезная статья...
|
Alex Lexcuk, Огромное спасибо за ваш пример! давно искала:)
только один вопрос: как можно поменять директорию? |
Цитата:
|
| Часовой пояс GMT +4, время: 23:17. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.