使用SWFUpload,为什么在使用Firefox时我的上传没有被upload.aspx处理(它们在IE中正确处理)?

时间:2010-02-03 15:47:41

标签: flash firefox internet-explorer swfupload

使用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>

                                                                            

2 个答案:

答案 0 :(得分:0)

很有可能因为这是在IE中而不是在Firefox中工作而你正在尝试进行一些身份验证(因此post_params:{                 “ASPSESSID”:“&lt;%= Session.SessionID%&gt;”             }) 你正在点击flash / firefox / opera“bug”/问题。在这种情况下,Flash上​​传器实际上是在自己的上下文中运行,而不是在共享上下文中运行,并且无法访问sessionID的cookie。

使用调试器检查并查看正在生成的内容或者是否有错误。

论坛中有几个主题,我认为一些ASP(不是我的专长)提供了一些解决方法。搜索flash,upload,sessionId和(ASP)

答案 1 :(得分:0)

代码看起来像o.k.对我来说。

  • Firefox控制台是否显示任何错误?

  • 您是否可以尝试使用相对于网络根目录/xyz/swfupload/upload.aspx的路径来确保不是以不同方式解析相对路径的情况?

  • 您是否1000%确定您的aspx文件实际上没有被调用?或者可能是因为某种原因认证过程出错?您可以将日志或邮件命令放入ASPX文件的第一行吗?

  • 上传过程本身是否会启动并显示进度条?

  • SWFUpload附带错误处理程序挂钩。他们都没有抛出错误信息吗?