Почему с помощью SWFUpload мои загрузки не обрабатываются с помощью upload.aspx при использовании Firefox (они обрабатываются правильно в IE)?

Использование SWFUpload v2.2, Firefox 3, IE 8, Flash 10
В моем приложении ASP.NET все загрузки обрабатываются с помощью upload.aspx (у меня есть правильный upload_url, установленный в объекте настроек).
Кто-нибудь может сказать мне, почему (в Firefox) загрузки никогда не попадают на страницу upload.aspx?

Большая часть кода страницы, которую пользователь посещает для загрузки файла, показана здесь (примечание: используются главные страницы):

<script type="text/javascript" src="../swfupload/swfupload.js"></script>

<script type="text/javascript" src="../js/handlers.js"></script>

<script type="text/javascript">
    var swfu;
    window.onload = function() {
        swfu = new SWFUpload({
            // Backend Settings
            upload_url: "../upload.aspx",
            post_params: {
                "ASPSESSID": "<%=Session.SessionID %>"
            },

            // File Upload Settings
            file_size_limit: "10 MB",
            file_types: "*.*",
            file_types_description: "All Files",
            file_upload_limit: 1,
            file_queue_limit: 1,
            //assume_success_timeout: 60,

            // Event Handler Settings - these functions as defined in Handlers.js
            //  The handlers are not part of SWFUpload but are part of my website and control how
            //  my website reacts to the SWFUpload events.
            file_queue_error_handler: fileQueueError,
            file_dialog_complete_handler: fileDialogComplete,
            upload_progress_handler: uploadProgress,
            upload_error_handler: uploadError,
            upload_success_handler: uploadSuccess,
            upload_complete_handler: uploadComplete,

            // Button settings
            button_image_url: "../Images/XPButtonNoText_160x22.png",
            button_placeholder_id: "spanButtonPlaceholder",
            button_width: 160,
            button_height: 22,
            button_text: '<span class="button">Upload File<span class="buttonSmall">(10 MB Max)</span></span>',
            button_text_style: '.button { font-family: Helvetica, Arial, sans-serif; font-size: 14pt; } .buttonSmall { font-size: 10pt; }',
            button_text_top_padding: 1,
            button_text_left_padding: 5,

            // Flash Settings
            flash_url: "../swfupload/swfupload.swf", // Relative to this file

            custom_settings: {
                upload_target: "divFileProgressContainer"
            },

            // Debug Settings
            debug: false
        });
    }
</script>


person Nathan Fast    schedule 03.02.2010    source источник
comment
Добро пожаловать в SO. Вы можете показать код? Было бы неплохо создать сгенерированный код, который вы используете для вызова SWFUpload.   -  person Pekka    schedule 03.02.2010
comment
Я добавил код страницы, которую пользователь посещает, чтобы загрузить файл. Это код, о котором вы говорите?   -  person Nathan Fast    schedule 04.02.2010


Ответы (2)


Хороший шанс, что, поскольку это работает в IE, а не в Firefox, и вы пытаетесь выполнить некоторую аутентификацию (отсюда post_params: {"ASPSESSID": "‹% = Session.SessionID%> "},), вы нажимаете flash / firefox / опера "баг" / проблема. В этом случае загрузчик флеш-памяти фактически работает в собственном контексте, а не в общем контексте, и не может получить доступ к файлам cookie для идентификатора сеанса.

Используйте отладчик, чтобы проверить, что генерируется и есть ли там ошибка.

Здесь есть несколько тем на форуме, я думаю, некоторые для ASP (не моя специальность), которые дают некоторые обходные пути. Найдите flash, upload, sessionId и (ASP)

person user270615    schedule 10.02.2010
comment
Я не думаю, что дело в этом, он явно передает идентификатор сеанса Flash, чтобы он мог передать его в сценарий загрузки. Самому Flash не требуется доступ к cookie сеанса. - person Pekka; 11.02.2010

Код выглядит нормально. мне.

  • Консоль Firefox показывает какие-либо ошибки?

  • Можете ли вы попробовать использовать пути относительно корневого веб-каталога /xyz/swfupload/upload.aspx, чтобы убедиться, что относительные пути не разрешаются по-другому?

  • Вы на 1000% уверены, что ваш файл aspx на самом деле не вызывается? Или может быть просто процесс аутентификации по какой-то причине идет не так? Можете ли вы поместить команду журнала или почты в 1-ю строку файла ASPX?

  • Запускается ли сам процесс загрузки и отображается ли индикатор выполнения?

  • SWFUpload поставляется с обработчиками ошибок. Ни один из них не выдает сообщение об ошибке?

person Pekka    schedule 10.02.2010