Uplodify在firefox中返回HTTP错误302

时间:2014-10-15 18:52:51

标签: php firefox file-upload uploadify jquery-file-upload

我正在使用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上运行时没有任何问题。

以下是尝试上传后错误的屏幕截图 enter image description here

我使用的是Firefox 32.0.3。 我的Apache在Windows Server 2008 R2中运行我不确定这是否会产生影响。

1 个答案:

答案 0 :(得分:0)

Flash不会传递您现有的PHP会话信息,因此如果您收到302错误,您的应用程序可能会将登录URL返回给Flash播放器。要解决此问题,您可以在scriptData中包含会话信息,并在应用程序中手动管理它。