uploadify使用jquery上传ASP.NET MVC
本文参考自
http://www.cnblogs.com/shanyou/p/3188195.html
http://www.cnblogs.com/luohu/archive/2011/12/16/2290135.html
http://www.cnblogs.com/libingql/archive/2012/09/11/2681007.html
HTML页面代码
<link rel="stylesheet" type="text/css" href="@Url.Content("~/Scripts/uploadify/uploadify.css")" />
<input type="button" id="file_upload" value="上传文件" />
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/uploadify/jquery.uploadify.js")" ></script>
<script type="text/javascript">
$(function () {
$('#file_upload').uploadify({
'buttonText': '请选择上传文件',
'cancelImage': '@Url.Content("~/Scripts/uploadify/uploadify-cancel.png")',
'swf': '@Url.Content("~/Scripts/uploadify/uploadify.swf")',
'fileSizeLimit ': 0,//单个文件大小,0为无限制,可接受KB,MB,GB等单位的字符串值
'uploader': '/Home/Upload',
multi: false,//是否能选择多个文件
fileTypeDesc: 'Flv文件',//允许上传的文件类型的描述,在弹出的文件选择框里会显示
fileTypeExts: '*.flv',//允许上传的文件类型,限制弹出文件选择框里能选择的文件
'onUploadSuccess': function (file, data, response) {
eval("data=" + data);
alert('文件 ' + file.name + ' 已经上传成功,并返回 ' + response + ' 保存文件名称为 ' + data.SaveName);
}
});
});
</script>
Controller Code
[HttpPost] public JsonResult Upload(HttpPostedFileBase fileData) { if (fileData != null) { try { // 文件上传后的保存路径 string filePath = Server.MapPath("~/Uploads/"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string fileName = Path.GetFileName(fileData.FileName);// 原始文件名称 string fileExtension = Path.GetExtension(fileName); // 文件扩展名 string saveName = Guid.NewGuid().ToString() + fileExtension; // 保存文件名称 fileData.SaveAs(filePath + saveName); return Json(new { Success = true, FileName = fileName, SaveName = saveName }); } catch (Exception ex) { return Json(new { Success = false, Message = ex.Message }, JsonRequestBehavior.AllowGet); } } else { return Json(new { Success = false, Message = "请选择要上传的文件!" }, JsonRequestBehavior.AllowGet); } }
注:如果上传大文件需要调整文件大小限制
web.config
<system.web> <!-- 限制1GB 文件上传 --> <httpRuntime maxRequestLength="10240099" executionTimeout="60" /> </system.web> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <!-- IIS 7+ 上传文件大小 begin --> <modules runAllManagedModulesForAllRequests="true" /> <security> <requestFiltering> <requestLimits maxAllowedContentLength="2147483647"></requestLimits> </requestFiltering> </security> <!-- IIS 7+ 上传文件大小 end --> </system.webServer>
uploadify 不支持IE6,只向上兼容

浙公网安备 33010602011771号