很難說的問題可能與你的代碼是什麼。你將不得不調試它。
這裏是一個完整的工作示例:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Upload(HttpPostedFileBase fileData)
{
if (fileData != null && fileData.ContentLength > 0)
{
var fileName = Server.MapPath("~/Content/Images/" + Path.GetFileName(fileData.FileName));
fileData.SaveAs(fileName);
return Json(true);
}
return Json(false);
}
}
視圖(~/Views/Home/Index.cshtml
):
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link href="@Url.Content("~/uploadify/uploadify.css")" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="file_upload"></div>
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/uploadify/swfobject.js")" type="text/javascript"></script>
<script src="@Url.Content("~/uploadify/jquery.uploadify.v2.1.4.js")" type="text/javascript"></script>
<script type="text/javascript">
$('#file_upload').uploadify({
'uploader': '@Url.Content("~/uploadify/uploadify.swf")',
'script': '@Url.Action("Upload", "Home")',
'cancelImg': '@Url.Content("~/uploadify/cancel.png")',
'folder': '@Url.Content("~/content/images")',
'fileDesc': 'Image Files',
'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
'auto': true
});
</script>
</body>
</html>
確保~/Content/Images
文件夾,你是哪個服務器上存在上傳或控制器中的操作將拋出一個例外。您還會注意到,在我的示例中,所有url都是通過url助手引用的,而不是對它們進行硬編碼。通過這種方式,應用程序無論是託管在IIS中的虛擬目錄還是本地託管都可以保證工作。
我已經使用了uploadify 2.1.4版,我下載並把內容在服務器上的文件夾~/uploadify
。
,你應該知道的另一件事是,可以發佈到ASP.NET可能在web.config中使用httpRuntime
element配置文件的限制。所以,如果你nitend上傳大文件請確保您已經調整了maxRequestLength
和executionTimeout
設置到所需的最大值,要允許:
<system.web>
<httpRuntime maxRequestLength="102400" executionTimeout="3600" />
</system.web>
我想你的代碼,但沒有露面....可能是你忘了寫輸入元素.....會在一段時間 –
@Pankaj Upadhyay添加它們,讓你有在我的代碼沒有輸入元素。只有它使用的Uploadify插件,並轉化成一個按鈕,讓你選擇文件,並將其上傳到服務器的單個''
。如果你在運行這個例子時遇到麻煩,你可以把你的代碼發給我,這樣我就可以看看它有什麼問題了。 –我創建了一個新的項目,並試圖您的代碼....它的工作原理實際上.....在我的項目我是在插入一些其他性質的HTTP形式file_upload DIV .....會考慮,看看什麼錯誤.....感謝隊友 –