2013-02-15 56 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的路徑。

查看答案的評論。

謝謝隊友。

相關問題