我对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的路径。
请参阅评论以获得答案。
谢谢,伙计。