Asp.net mvc Plupload仅在MVC home上工作
我对Plupload有一个奇怪的问题,我希望你能帮我解决 我将它与MVC和AmazonS3一起使用,以示例为例,一切都很好 因此,它当前位于HomeController索引视图中 因此,如果我导航到localhost/it,它就可以正常工作 如果我导航到localhost/Home,则“添加文件”按钮不可单击,因为_Flash_容器挡住了我的去路 即使我使用Firebug来解决这个问题,“添加文件”按钮也不起任何作用 有人知道吗 我的代码如下:Asp.net mvc Plupload仅在MVC home上工作,asp.net-mvc,amazon-s3,plupload,Asp.net Mvc,Amazon S3,Plupload,我对Plupload有一个奇怪的问题,我希望你能帮我解决 我将它与MVC和AmazonS3一起使用,以示例为例,一切都很好 因此,它当前位于HomeController索引视图中 因此,如果我导航到localhost/it,它就可以正常工作 如果我导航到localhost/Home,则“添加文件”按钮不可单击,因为_Flash_容器挡住了我的去路 即使我使用Firebug来解决这个问题,“添加文件”按钮也不起任何作用 有人知道吗 我的代码如下: @model MVC3PluploadToAmaz
@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>
}
@model MVC3PluploadToAmazonS3.ViewModels.FileUploadViewModel
@{
ViewBag.Title=“Index”;
}
上传到AmazonS3
您的浏览器不支持Flash、Silverlight、Gears、BrowserPlus或HTML5
@节脚本文件{
$(文档).ready(函数(){
$(“#上传器”).plupload({
//亚马逊设置。
运行时:“flash,silverlight”,
网址:'https://rapplex.s3-eu-west-1.amazonaws.com',
最大文件大小:“10000000MB”,
多部分:正确,
多部分参数:{
'key':'${filename}',//将filename用作键
'Filename':'${Filename}',//添加此项以保持运行时的一致性
“acl”:$(“#acl”).val(),
“内容类型”:“二进制/八位字节流”,
“成功行动状态”:“201”,
“AWSAccessKeyId”:$(“#AWSAccessKeyId”).val(),
“policy”:$(“#policy”).val(),
'签名':$('签名').val()
},
//可选,但最好直接指定
//文件\数据\名称:“文件”,
//重用小部件(与S3无关,但与Plupload UI小部件相关)
//多个_队列:正确,
//如果可以,在客户端调整图像大小
//调整大小:{宽度:320,高度:240,质量:90},
//指定要浏览的文件
过滤器:[
//{标题:“视频文件”,扩展名:“mp4、m4v、wmv、avi、mov、mpg、mpeg、mkv”}
{标题:“图像文件”,扩展名:“jpg,gif,png”},
//{标题:“Zip文件”,扩展名:“Zip”}
],
//闪光设置
flash_swf_url:'Scripts/plupload/plupload.flash.swf',
//Silverlight设置
silverlight_xap_url:'Scripts/plupload/plupload.silverlight.xap'
});
});
}
任何帮助都将不胜感激
编辑:好的,我做了一些进一步的调查
似乎localhost/home可以工作,但localhost/home/和localhost/home/index不工作
我注意到在最初的css文件中有一堆@Import*.css,并将它们更改为/path/to/file.css,这没有什么区别。我还尝试从@imports中删除第一个正斜杠,但这只是删除了所有样式,所以我知道不是这样
我还尝试将.swf路径更改为绝对路径(localhost:2668/Scripts/plupload/plupload.flash.swf),但也没有成功 正如phloopy所指出的,这实际上是通往swf的路径 有关答案,请参见注释
谢谢你,伙计 localhost/Home/(带有尾部/)是否也会发生这种情况?我还想知道把你的flash_swf_url改成绝对路径是否会改变一些事情。我有更多的信息,包括你第一个问题的答案。查看我的编辑。请尝试此绝对路径,而不是
flash\u swf\u url:'/Scripts/plupload/plupload.flash.swf'
太棒了!谢谢这就决定了:)