Jquery 尝试在MVC3应用程序中使用Uploadify有什么问题?
为什么文件输入元素根本不显示???请参阅下面的代码和屏幕截图。我花了几个小时在我能找到的每个论坛上研究这个。我无法得到一致的答案Jquery 尝试在MVC3应用程序中使用Uploadify有什么问题?,jquery,asp.net,asp.net-mvc-3,uploadify,Jquery,Asp.net,Asp.net Mvc 3,Uploadify,为什么文件输入元素根本不显示???请参阅下面的代码和屏幕截图。我花了几个小时在我能找到的每个论坛上研究这个。我无法得到一致的答案 <!DOCTYPE html> <html> <head><title> Home Page </title><link href="mvc3/Content/Site.css" rel="stylesheet" type="text/css" /> <script sr
<!DOCTYPE html>
<html>
<head><title>
Home Page
</title><link href="mvc3/Content/Site.css" rel="stylesheet" type="text/css" />
<script src="/mvc3/Scripts/jquery-1.5.1.js" type="text/javascript"></script>
<script src="/mvc3/uploadify/jquery.uploadify.v2.1.4.js" type="text/javascript"></script>
<script src="/mvc3/uploadify/swfobject.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function () {
jQuery("#dr405").uploadify({
'uploader': 'uploadify.swf',
'cancelImg': 'cancel.png',
'buttonText': 'Browse Files',
'script': 'Uploader.ashx',
'folder': 'uploads',
'fileDesc': 'Image Files',
'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
'multi': true,
'auto': true
});
});
</script>
</head>
<body>
<div class="page">
<div id="header">
<div id="title">
<h1>My MVC Application</h1>
</div>
<div id="logindisplay">
Welcome <strong>dougrchamberlain</strong>!
[ <a href="/mvc3/Account/LogOff">Log Off</a> ]
</div>
<div id="menucontainer">
<ul id="menu">
<li><a href="/mvc3/">Home</a></li>
<li><a href="/mvc3/Home/About">About</a></li>
</ul>
</div>
</div>
<div id="main">
<h2>Welcome to ASP.NET MVC!</h2>
<p>Please upload your return</p>
<input type="file" name="dr405" id="dr405" />
<div id="footer">
</div>
</div>
</div>
</body>
</html>
主页
jQuery.noConflict();
jQuery(文档).ready(函数(){
jQuery(“#dr405”)。上传({
'uploader':'uploadify.swf',
'cancelImg':'cancel.png',
'buttonText':'Browse Files',
'script':'Uploader.ashx',
'文件夹':'上载',
'fileDesc':'Image Files',
“fileExt”:“*.jpg;*.jpeg;*.gif;*.png”,
"多":对,,
“自动”:真
});
});
我的MVC应用程序
欢迎道格汉伯兰!
[ ]
欢迎使用ASP.NET MVC!
请上传您的报税表
更新
在修复url引用之后。要实际指向这些文件,下面是我在这方面看到的
uploadify.swf的url看起来是错误的。我建议您在处理URL时始终使用URL帮助程序:
jQuery("#dr405").uploadify({
'uploader': '@Url.Content("~/mvc3/uploadify/uploadify.swf")',
'cancelImg': 'cancel.png',
...
});
我也有同样的问题,尽管我没有使用ashx。问题是我没有正确引用控制器的方法。我的控制器名为FileController.cs,因此我使用了“script”:“File/Upload”而不是“script”:“File/Upload”,现在不再出现IO错误-它正确地调用控制器中的函数
<script type="text/javascript">
$(document).ready(function () {
$("#file_upload").uploadify({
'uploader': '/uploadify/uploadify.swf',
'script': '/File/Upload',
'cancelImg': '/uploadify/cancel.png',
'multi': true,
'auto': true,
'buttonText': 'SELECT',
'onComplete': function (event, queueID, fileObj, response, data) {
$("#" + $(this).attr('id') + queueID + " .percentage").text(' - Completed');
return false;
}
});
});
MVC3的这种新的神秘语法是什么?在哪里可以找到何时使用@等的参考资料。这对我来说似乎不管用。“但它一定是在做某种替换吗?”道格·张伯伦(Doug Chamberlain),也就是说,微软的新视图引擎。如果您仍在使用WebForms,则等效的语法是
,先生,您很聪明。我已经更新了我的问题。现在我只收到一条一般性的错误消息。@Doug Chamberlain,这个错误是什么时候抛出的?是否正在命中指定的服务器端上载处理程序Uploader.ashx
?此处理程序的url是否正确?尝试使用url帮助程序指定此处理程序的路径。如果直接在浏览器地址栏中键入指向此处理程序的url,它是否有效?我指向.php文件,并在安装了php的情况下使用IIS7.5运行它。成功了!!!呜!谢谢
public string Upload(HttpPostedFileBase fileData)
{
var fileName = this.Server.MapPath("~/uploads/" + System.IO.Path.GetFileName(fileData.FileName));
fileData.SaveAs(fileName);
return "ok";
}