Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.10.2011, 04:13
flasher2011 вне форума Посмотреть профиль Отправить личное сообщение для flasher2011 Найти все сообщения от flasher2011
  № 1  
Ответить с цитированием
flasher2011

Регистрация: Jun 2011
Сообщений: 4
По умолчанию Как загрузить картинку с кириллицей в имени файла

Здравствуйте!

Не отображается картинка в браузере, если в название на русском языке.

Запускал в Опере, Мозилле и IE. Причем, во флешке все выводится.
Также если название английскими буквами - тоже все рисунки показываются.

Если кто знает - подскажите.

Код AS3:
package
{
 import flash.display.Bitmap;
 import flash.display.Loader;
 import flash.display.MovieClip;
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.events.HTTPStatusEvent;
 import flash.events.IOErrorEvent;
 import flash.events.SecurityErrorEvent;
 import flash.events.TouchEvent;
 import flash.external.ExternalInterface;
 import flash.net.navigateToURL;
 import flash.net.URLRequest;
 import flash.system.ApplicationDomain;
 import flash.system.LoaderContext;
 import flash.system.Security;
 import flash.utils.ByteArray;
 
 
 
 public class NewClass extends Sprite
 {
  private var loader:Loader;
 
 
  public function NewClass():void
  {
   if (stage) init();
   else addEventListener(Event.ADDED_TO_STAGE, init);
  }
 
  private function init(e:Event = null):void 
  {
   removeEventListener(Event.ADDED_TO_STAGE, init);
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////        
 
    var request:URLRequest = new URLRequest("Автомобиль.jpg");
 
    loader = new Loader();
 
    loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioerrorListener);
 
    loader.load(request);   
  }
 
  private function initListener(e:Event):void
  {
   var image:Bitmap = e.target.content as Bitmap;
   addChild(image);
  }
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
  private function ioerrorListener(e:IOErrorEvent):void
  {
   trace(e.text);
  }
 }
 
}
Также браузеры не обновляют страницы.
Дополняю в адресной строке к php-странице с флешкой ?Math.random() - и ничего.
И только после очистки истории в Опере и удалении файлов в IE страницы при следующем обновлении перерисовываются.


Последний раз редактировалось flasher2011; 23.10.2011 в 07:59. Причина: Дополнение
Старый 23.10.2011, 09:34
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Дополняю в адресной строке к php-странице с флешкой ?Math.random() - и ничего.
и что? В этом случае получается примерно следующий запрос:
Код AS3:
"http://somesite.com/"Автомобиль.jpg?Math.random()"
а нужно добавлять так:
Код AS3:
 var request:URLRequest = new URLRequest("Автомобиль.jpg?" + Math.random());
Проверено неоднократно, все работает.

По поводу русских шрифтов, программе собственно, все равно какой это шрифт, если он хранится в юникоде. Можно даже названия переменных и методов писать по-русски.
Только что проверил, все грузится. Переименовал картинку во флешдевелоп

Старый 23.10.2011, 10:39
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 3  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
goodguy, речь не о шрифте а о имени файла. И о запросе, отправляемом через браузер. Т.е. в url-кодировке, где кириллица будет представлена всякими "%20". По-идее, сервер такую строку разберет, а вот система вряд ли будет этим заниматься.
__________________
Reality.getBounds(this);

Старый 23.10.2011, 11:24
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 4  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Стоп, ну а причем тут тогда флеш вообще?
Я исходил из этой строки:
Код AS3:
var request:URLRequest = new URLRequest("Автомобиль.jpg");

Старый 23.10.2011, 12:06
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 5  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
http://help.adobe.com/ru_RU/FlashPla...unescape%28%29
__________________
Я просто добрый шутник.

Старый 23.10.2011, 20:40
flasher2011 вне форума Посмотреть профиль Отправить личное сообщение для flasher2011 Найти все сообщения от flasher2011
  № 6  
Ответить с цитированием
flasher2011

Регистрация: Jun 2011
Сообщений: 4
goodguy, сделал как Вы и сказали. Только еще добавил (подсказали на demiart.ru) заголовок на запрет кеширования в php-странице:

Код AS3:
header("Cache-Control: no-store, no-cache, must-revalidate");
Теперь страница обновляется.



Wolsh, смотрел в Мозилле с плагином Firebug на адрес загружаемого(request.url: Автомобиль.jpg?0.2859626426361501) рисука :

Код AS3:
http://localhost/site/bin/%C0%E2%F2%EE%EC%EE%E1%E8%EB%FC.jpg?0.04425304662436247
Как Вы и сказали.



scarbo, получилось. Но редактировал код и вновь не работает:

Код AS3:
var request:URLRequest = new URLRequest(unescape("Автомобиль.jpg?" + Math.random()));

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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