1

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

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

所以它目前在 HomeController Index 视图中。

因此,如果我导航到 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),但这也没有用。

4

1 回答 1

0

正如 phloopy 指出的那样,它实际上是通向 swf 的路径。

答案见评论。

谢了哥们。

于 2013-02-26T09:31:31.220 回答