я использую uplodify загружать файлы на мой сервер.
Это работает без проблем в Google Chrome. Но когда я пытаюсь загрузить файл с помощью Firefox, я получаю ошибку HTTP 302, и файл не загружается.
Вот мой сценарий
<?php $timestamp = time();?>
$('#file_upload').uploadify({
'formData' : {
'timestamp' : '<?php echo $timestamp;?>',
'token' : '<?php echo md5($timestamp);?>',
'session' : '<?php echo $session->currentSessionID(); ?>',
'upload_path': 'ticketing_center/',
'allowed_extentions': 'jpg,jpeg,gif,PNG,JPG,png,JPEG,pdf,jpeg,zip,rar,doc,docx,csv,xls,xlsx,txt,csv,xml'
},
'auto' : true,
'removeCompleted': true,
'swf' : '../../includes/uploadify.swf',
'onError' : function(event, queueID, fileObj, errorObj) { alert(errorObj.type + ' ' + errorObj.info ); },
'uploader' : '../../includes/uploadify.php',
'fileSizeLimit' : '20MB',
'fileTypeExts' : '*.gif; *.jpg; *.JPG; *.png; *.PNG; *.JPEG; *.pdf; *.jpeg; *.zip; *.rar; *.doc; *.docx; *.csv; *.xls; *.xlsx; *.txt; *.csv; *.xml;',
'onUploadSuccess' : function(file, data, response) {
if(response === true){
$('#attached_files').append('<input type="hidden" class="uploadedFiles" name="attachments[]" value="' + $.trim(data) + '" />');
$('#queue_final').append('<div style="display: block;" class="removeFile" id="' + $.trim(data) + '">(x) ' + file.name + '</div>');
} else {
alert('Invalid File Type');
}
$('.removeFile').click( function(){
var file_name = $(this).attr('id');
$( "#dialog-confirm" ).dialog( "open" ).data('file_name', file_name);;
});}
});
Я провел исследование до публикации этого вопроса, но ни одно из найденных решений не решило мою проблему.
вот что я пробовал до сих пор
Я попытался добавить значение сеанса в сценарий 'session' : '<?php echo $session->currentSessionID(); ?>'
Затем в моем коде uploadify.php я сделал
if (array_key_exists('session', $_REQUEST))
session_id($_REQUEST['session']);
Я пытался добавить header( " HTTP/1.0 200 OK" );
к началу моего PHP-скрипта, и это не сработало.
Я пытался добавить onError
функция для отображения любой ошибки, но это ничего не отображает.
Я не уверен, что еще может быть причиной этого? Обратите внимание, что он работает на Chrome без проблем.
Вот скриншот ошибки после попытки загрузки
Я использую Firefox 32.0.3.
Мой Apache работает в Windows Server 2008 R2. Я не уверен, что это что-то меняет.
Flash не будет проходить через вашу существующую информацию PHP Session, поэтому, если вы получаете ошибку 302, вполне вероятно, что ваше приложение возвращает URL-адрес входа в Flash Player. Чтобы решить эту проблему, вы можете включить информацию о сеансе в scriptData и управлять ею вручную в своем приложении.
Других решений пока нет …