Междоменная проблема. Загрузка файлов и Adobe Flash - PullRequest
1 голос
/ 14 июля 2011

Я знаю, что эту проблему задавали до тошноты; Однако, похоже, я застрял. Я создал загрузчик файлов во Flash, который был успешно протестирован на локальной машине. Однако при перемещении его на рабочий сервер и попытке доступа к нему с другого компьютера php не вызывается. Изначально создавались исключения безопасности, но они были разрешены после создания файла crossdomain.xml.

Я поместил некоторые записи в php-файл, чтобы посмотреть, называется ли он, и нет ли кубиков. Он вызывается, если запускается локально, но, как я уже сказал, междоменный не так уж и много.

Мой файл crossdomain.xml выглядит следующим образом.

<?xml version="1.0"?>
<cross-domain-policy>
    <allow-access-from domain="*" />
</cross-domain-policy>

Что-то еще мне нужно сделать в конфигурации Flash или на сервере?

Ответы [ 2 ]

3 голосов
/ 14 июля 2011

вы можете попробовать новый междоменный формат:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="all"/>

  <!-- Place top level domain name -->
  <allow-access-from domain="*" />
  <allow-access-from domain="*" to-ports="80,443"/>
  <allow-http-request-headers-from domain="*" headers="*" />

</cross-domain-policy>
0 голосов
/ 15 июля 2011

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

FlashPlayer ищет файл crossdomain.xml в URL-адресе.Корень домена, например,

domain.com/crossdomain.xml

, где FlashPlayer хочет найти его.Таким образом, вы можете загрузить файл междомена, набрав указанный выше URL.

Однако вы можете использовать Security.loadPolicyFile(url) для загрузки файла crossdomain.xml из альтернативного местоположения на сервере.

Youможно попробовать следующий файл crossdomain.xml:

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM “/xml/dtds/cross-domain-policy.dtd”>
<cross-domain-policy> 
<site-control permitted-cross-domain-policies="all"/> 
<allow-access-from domain="*" to-ports="*" secure="false"/> 
<allow-http-request-headers-from domain="*" headers="*" secure="false"/> 
</cross-domain-policy> 

Этот файл не означает никаких ограничений для чего-либо, поэтому это полезно для устранения неполадок, но не подходит для производства.

Кроме того, следует проверитьваш код, чтобы увидеть, изменили ли вы уже URL-адрес с localhost на ваше доменное имя во флэш-файле.

Иногда проблема с междоменами не связана с файлом междомена.

Например:chmod каталог на вашем сервере для загрузки файла в 777.

Вы можете сослаться на мой ответ в следующем вопросе: flex actionscript не загружает файл на страницу PHP ПОМОЩЬ!

Вы должны дать нам немного flash и php кодирования, а также сообщение об ошибке, которое вы получили.В противном случае ваш вопрос слишком общий.

...