2

我正在尝试将 plupload 与 mvc2 一起使用,但文件浏览器窗口未打开。

我的代码:

 <script type="text/javascript">

// Convert divs to queue widgets when the DOM is ready
$(function () {
    $("#uploader").pluploadQueue({
        // General settings
        runtimes: 'gears,flash,silverlight,browserplus,html5',
        url: '<%: Url.Content( "~//Uploades/Horses/" ) %>',
        max_file_size: '10mb',
        chunk_size: '1mb',
        unique_names: true,

        // Resize images on clientside if we can
        resize: { width: 320, height: 240, quality: 90 },

        // Specify what files to browse for
        filters: [
        { title: "Image files", extensions: "jpg,gif,png" },
        { title: "Zip files", extensions: "zip" }
    ],

        // Flash settings
        flash_swf_url: '../../../../Scripts/plupload/plupload.flash.swf',

        // Silverlight settings
        silverlight_xap_url: '../../../../Scripts/plupload/plupload.silverlight.xap'
    });

    // Client side form validation
    $('form').submit(function (e) {
        var uploader = $('#uploader').pluploadQueue();
        uploader.refresh();
        // Validate number of uploaded files
        if (uploader.total.uploaded == 0) {
            // Files in queue upload them first
            if (uploader.files.length > 0) {
                // When all files are uploaded submit form
                uploader.bind('UploadProgress', function () {
                    if (uploader.total.uploaded == uploader.files.length)
                        $('form').submit();
                });

                uploader.start();
            } else
                alert('You must at least upload one file.');

            e.preventDefault();
        }
    });
});

<div id="uploader" style="height:300px">
        <p>You browser doesn't have Flash, Silverlight, Gears, BrowserPlus or HTML5 support.</p>
    </div>

如果我尝试调试uploadingelemt,则显示没有任何问题。但是,如果我单击添加文件,窗口只会跳到我的页面顶部,不会发生其他任何事情。

Firebug 没有显示任何问题。

我在 FF4 和 IE 8 中尝试过使用闪光灯和 Silverlight

任何人的想法?非常感谢您,祝您周末愉快!

4

1 回答 1

3

您的浏览器将使用 Flash 运行时,因为它在“html5”之前列出。Flash 运行时需要设置 'container: "my_uploader_container_id"'

并且您的“pickfiles”按钮需要放入 ID 为“my_uploader_container_id”的 DIV 中。

另一种解决方案是使用 html5 引擎 - 在“运行时”参数中的 flash 之前将其列出。但是 html5 运行时在 IE 中不起作用。

于 2012-05-08T07:54:48.747 回答