0

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

4

2 回答 2

0

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

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

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

于 2010-02-10T21:14:32.807 回答
0

代码对我来说看起来不错。

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

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

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

  • 上传过程本身是否开始并显示进度条?

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

于 2010-02-10T21:21:32.420 回答