【发布时间】:2012-01-15 15:52:01
【问题描述】:
我似乎无法在 ASP.NET MVC3 上进行上传,我搜索了很多,下面的代码似乎可以正常工作,但不适合我。当我尝试通过html上传方法上传它时,它可以工作,而不是uploadify。正确包含所有库。
<!-- Not working, HTTP ERROR 500 -->
<input id="file" type="file" name="file" />
<script type="text/javascript">
$(document).ready(function () {
$('#file_upload').uploadify({
// I tried to remove "/" at the start, does not help
'uploader': '/Scripts/u/uploadify.swf',
'script': '/home/upload',
'cancelImg': '/Scripts/u/cancel.png',
'folder': '/upload',
'auto': true,
'onError': function (event, ID, fileObj, errorObj) {
alert(errorObj.type + ' Error: ' + errorObj.info);
}
});
});
</script>
<!-- Working fine -->
<form action="home/upload" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<input type="submit" />
</form>
主页控制器操作
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
var fileName = Path.GetFileName(file.FileName); // Object reference not set to an instance of an object. I get this if I try to upload via uploadify
file.SaveAs(Server.MapPath("~/upload/") + fileName);
return Content(fileName);
}
【问题讨论】:
-
抛出了什么异常?
-
啊,可能是因为您用于 Uploadify 的输入字段的名称称为“file_upload”。您的操作需要“文件”(这是您在 html 版本中使用的名称)。可能会引发空引用异常。
-
添加了异常,不,将其更改为“文件”,仍然发生同样的事情。
标签: c# javascript asp.net asp.net-mvc-3 uploadify