Plupload仅适用于MVC home

时间:2013-02-15 14:41:04

标签: asp.net-mvc amazon-s3 plupload

我对Plupload有一个奇怪的问题,我希望你可以帮助我。

我正在将它与MVC和Amazon S3一起使用,并且采用样本一切正常。

因此它目前处于HomeController索引视图中。

因此,如果我导航到localhost /它没有任何问题。

如果我导航到localhost / Home,则由于_Flash_Container妨碍了“添加文件”按钮,因此无法点击。

即使我使用Firebug来解决它,“添加文件”按钮也没有做任何事情。

有没有人有任何想法?

我的代码如下:

@model MVC3PluploadToAmazonS3.ViewModels.FileUploadViewModel
@{
    ViewBag.Title = "Index";
}

<h2>Upload to Amazon S3</h2>

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

<input type="hidden" name="key" value="@Model.FileId-${filename}">
<input type="hidden" name="AWSAccessKeyId" value="@Model.PublicKey">
<input type="hidden" name="acl" value="@Model.Acl">
<input type="hidden" name="success_action_redirect" value="@Model.RedirectUrl">
<input type="hidden" name="policy" value="@Model.Policy">
<input type="hidden" name="signature" value="@Model.Signature">

@section scriptFiles {
<script>

$(document).ready(function () {

    $("#uploader").plupload({
        //amazon settings.
        runtimes: 'flash,silverlight',
        url: 'https://rapplex.s3-eu-west-1.amazonaws.com',
        max_file_size: '100000000mb',
        multipart: true,
        multipart_params: {
            'key': '${filename}', // use filename as a key
            'Filename': '${filename}', // adding this to keep consistency across the runtimes
            'acl': $('#Acl').val(),
            'Content-Type': 'binary/octet-stream',
            'success_action_status': '201',
            'AWSAccessKeyId': $('#AWSAccessKeyId').val(),
            'policy': $('#Policy').val(),
            'signature': $('#Signature').val()
        },
        // optional, but better be specified directly
        //file_data_name: 'file',
        // re-use widget (not related to S3, but to Plupload UI Widget)
        //multiple_queues: true,

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

        // Specify what files to browse for
        filters: [
           // { title: "Video files", extensions: "mp4,m4v,wmv,avi,mov,mpg,mpeg,mkv" }
            { 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'
    });

});
</script>

}

非常感谢任何帮助

编辑:好的,我做了一些进一步的调查。

似乎localhost / home确实有效,但localhost / home /和localhost / home / index不起作用。

我注意到在初始css文件中有一堆@Import * .css并且已经将它们更改为/path/to/file.css并没有什么区别。我也尝试从@imports中删除第一个正斜杠但是刚刚删除了所有的样式,所以我知道它不是那样的。

我也尝试将.swf路径更改为绝对路径(localhost:2668 / Scripts / plupload / plupload.flash.swf),但这也无效。

1 个答案:

答案 0 :(得分:0)

正如phloopy指出的那样,它实际上是通往瑞士法​​郎的道路。

查看答案的评论。

谢谢你的队友。