asp.net mvc-Plupload仅适用于mvc主页



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

我将它与MVC和AmazonS3一起使用,并且,从示例来看,一切都很好。

因此,它当前处于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/pulupload.flash.swf),但也没有成功。

正如福皮所指出的,它实际上是通往swf的路径。

请参阅评论以获得答案。

谢谢,伙计。

最新更新