Flash FileReference.upload () не вызывает URL - PullRequest
0 голосов
/ 11 октября 2011

После переноса веб-сайта на другой сервер загрузка флеш-памяти перестала работать. После некоторой отладки и выявления проблемы я обнаружил, что в SWF-файле (используется для многократной загрузки) метод FileReference.upload () не работает. URL, вызываемый item.upload (_root.uploadScript), не вызывается.

Вот код:

вспышка:

listener.onSelect = function(fileRefList:FileReferenceList){
  var list:Array = fileRefList.fileList;
  var item:FileReference;
  _root.toUploadCount = list.length;
  for(var i:Number = 0; i < list.length; i++) {
    item = list[i];
    if(item.size > maxSize)
      ExternalInterface.call("tooBig", item.name);
    else{           
      item.addListener(this);
      item.upload(_root.uploadScript);
    }
  }
}

upload.php:

<?php

$log = fopen('log.txt', 'a');
fwrite($log, 'Upload');
fclose($log);

item.upload (_root.uploadScript) возвращает значение true, но файл журнала не создан.

CHMOD установлен правильно, прямой вызов upload.php создает log.txt, как и ожидалось, и все работало на предыдущем сервере.

Пожалуйста, помогите, я не знаю.

Спасибо.

1 Ответ

1 голос
/ 03 ноября 2011

Я нашел решение.

Сервер возвращал Ошибка HTTP 406 . Чтобы предотвратить такое поведение, мне нужно было добавить в .htaccess файл такой:

SetEnvIfNoCase Content-Type "^multipart/form-data;" "MODSEC_NOPOSTBUFFERING=Do not buffer file uploads"
...