Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Загрузить JPG и сохранить (http://www.flasher.ru/forum/showthread.php?t=195023)

Light 26.02.2013 23:43

Загрузить JPG и сохранить
 
Можете подсказать, какими средствами as3 можно воспользоваться, чтобы загрузить из интернета картинку и сохранить ее на диск? Это ведь возможно? Это приложение Air.

spirit2 26.02.2013 23:58

flash.display.Loader
flash.filesystem.File

Light 27.02.2013 00:03

Цитата:

Сообщение от spirit2 (Сообщение 1122583)
flash.display.Loader
flash.filesystem.File

File сохраняет файлы только через диалоговое окно, а мне надо чтобы файлы записывались в фоновом режиме, автоматически.

Котяра 27.02.2013 00:06

А нужно ли это пользователю?

Nooob 27.02.2013 00:15

flash.filesystem.FileStream

Light 27.02.2013 00:23

Цитата:

Сообщение от Котяра (Сообщение 1122585)
А нужно ли это пользователю?

Конечно нужно, иначе бы я не спрашивал=)
Цитата:

Сообщение от Nooob (Сообщение 1122587)
flash.filesystem.FileStream

Спасибо! Буду пробовать.

Котяра 27.02.2013 00:30

Цитата:

Конечно нужно, иначе бы я не спрашивал=)
Вы не пользователь. Вы разработчик.
Переиначу вопрос:
А нужно ли пользователю, чтобы без его ведома кто-то там с банера порносайта сохранял ему (пользователю) на компьютер некие jpeg-файлы?

Добавлено через 1 минуту
Ой сорри. Проглядел, что про air.

Вы можете без запроса сохранить всё в appStorageDirectory
Либо (это важно!!!)
1 раз спросить директорию через browseFromDir
Сохранить её в SharedLocal и потом доставая полный путь при старте приложения - сохранять туда. После 1 запуска и выбора этой директории - диалогового окна и секурных ощибок не будет. Почему так - нигде официального описания не нашёл. Но это (пока не пофиксят) работает.

spirit2 27.02.2013 00:46

http://forums.adobe.com/thread/209533 хак для записи в applicationDirectory без SecurityError

Light 27.02.2013 00:48

Цитата:

Сообщение от Котяра (Сообщение 1122592)
Вы не пользователь. Вы разработчик.
Переиначу вопрос:
А нужно ли пользователю, чтобы без его ведома кто-то там с банера порносайта сохранял ему (пользователю) на компьютер некие jpeg-файлы?

Добавлено через 1 минуту
Ой сорри. Проглядел, что про air.

Вы можете без запроса сохранить всё в appStorageDirectory
Либо (это важно!!!)
1 раз спросить директорию через browseFromDir
Сохранить её в SharedLocal и потом доставая полный путь при старте приложения - сохранять туда. После 1 запуска и выбора этой директории - диалогового окна и секурных ощибок не будет. Почему так - нигде официального описания не нашёл. Но это (пока не пофиксят) работает.

Спасибо за информацию! Буду сохранять в директорию приложения=)

Добавлено через 3 минуты
Цитата:

Сообщение от spirit2 (Сообщение 1122595)
http://forums.adobe.com/thread/209533 хак для записи в applicationDirectory без SecurityError

Спс за хак) Думаю со всей этой инфой я смогу все сделать=)

Добавлено через 1 час 57 минут
А нет какого-нибудь способа асинхронно кодировать ByteArray в jpeg? А то подтормаживает во время кодирования...

alatar 27.02.2013 03:07

BitmapData#encode или в Worker кодирование вынести.

Добавлено через 1 минуту
P.S. хак могут прикрыть в любой момент, как это уже было с Loader.

Light 27.02.2013 03:56

Цитата:

Сообщение от alatar (Сообщение 1122617)
BitmapData#encode или в Worker кодирование вынести.

Добавлено через 1 минуту
P.S. хак могут прикрыть в любой момент, как это уже было с Loader.

Посмотрел про BitmapData#encode и не нашел там события окончания кодирования. Это точно асинхронное действие? Если да, то как понять, что оно завершено?

Добавлено через 12 минут
PS. Что-то у меня BitmapData#encode вообще не работает... Не понимает, что такое encode и flash.display.JPEGEncoderOptions(). Worker использовать не вариант - приложение для мобильных. Попробовал использовать библиотеку Alchemy из этой интересной статьи http://segfaultlabs.com/devlogs/alch...peg-encoding-2, но при выполнении кода приложение просто вылетает без объяснений...

alatar 27.02.2013 12:10

BitmapData#encode синхронный метод, но за счет нативности, довольно быстрый. Для использование необходимо использовать AIR не ниже 3.3 и добавить в опции компиляции -swf-version=16 (или выше).

Асинхронных библиотек тоже хватает.

Asfel 27.02.2013 17:05

Ну либо же если приложение екстендед десктоп сохранять в директорию приложения

Light 27.02.2013 23:28

Цитата:

Сообщение от alatar (Сообщение 1122646)
BitmapData#encode синхронный метод, но за счет нативности, довольно быстрый. Для использование необходимо использовать AIR не ниже 3.3 и добавить в опции компиляции -swf-version=16 (или выше).

Асинхронных библиотек тоже хватает.

Да, хватает, только одна не работает, а вторую неизвестно как подключать... Вы не знаете случайно, что надо импортировать, чтобы компилятор понял, что означает JPGAsyncEncoder? В этой инструкции про это ни слова: https://code.google.com/p/in-spirit/wiki/JPGEncoder, видимо кроме подключения свика надо что-то еще написать в разделе import, чтобы код заработал...

alatar 27.02.2013 23:53

ru.inspirit.image.encoder.JPGAsyncEncoder

Light 28.02.2013 00:04

Спасибо!!!!


Часовой пояс GMT +4, время: 04:51.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.