2013-02-15 57 views
1

我有一个Plupload的奇怪问题,我希望你能帮助我。Plupload只能在MVC主页上工作

我正在使用它与MVC和亚马逊S3,并采取样品,它一切正常。

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

因此,如果我导航到本地主机/它工作没有问题。

如果我导航到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),但那也不起作用。

+0

这是否也发生在localhost/Home /(尾随/)?也想知道如果改变你的flash_swf_url到绝对路径会改变一些东西 – jbl 2013-02-15 15:16:49

+0

虽然调查我有更多的信息,包括第一个问题的答案。看我的编辑。 – 2013-02-15 15:36:31

+0

试试这个绝对路径,而不是'flash_swf_url:'/ Scripts/plupload/plupload.flash.swf'' – phloopy 2013-02-18 22:50:15

回答

0

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

查看答案的评论。

谢谢队友。

相关问题