//MVC实现
public classFileController : Controller
{
[HttpPost]publicActionResult Setting()
{string userid = "1"; string username = "1";
FunctionBackMessage functionBackMessage= newFunctionBackMessage();
functionBackMessage.IsSuccess= false;
functionBackMessage.Message="上传失败,稍后重试!";if (!string.IsNullOrEmpty(username))
{
HttpFileCollectionBase files=Request.Files;string _urlstr =Request.Url.AbsoluteUri;
FunctionBackMessage fc= newFunctionBackMessage();
fc.IsSuccess= true; fc.Message = "上传成功";if (files.AllKeys.Length > 0)
{for (int i = 0; i < files.AllKeys.Length; i++)
{var myFile =files[i];double myFileLength = myFile.ContentLength / 1024.0 / 1024.0;int InputMediaExcelLength = !string.IsNullOrEmpty(Global.GetAppString("InputMediaExcelLength")) ? int.Parse(Global.GetAppString("InputMediaExcelLength")) : 50;if (myFileLength > InputMediaExcelLength)//超出指定大小
{
fc.IsSuccess= false; fc.Message = "为了保证数据处理效率,每次上传文件小于" + InputMediaExcelLength + "M,如超出请拆分记录分多次上传!";
}else{//string projectId = context.Request["projectId"];//string username = context.Request["username"];
if ((!Path.GetExtension(myFile.FileName).Contains("xls") && !Path.GetExtension(myFile.FileName).Contains("xlsx")))
{
functionBackMessage.IsSuccess= false; functionBackMessage.Message = "请上传Excel格式文件!";return Json(functionBackMessage, "application/json");
}//文件保存
string uploadPath = HttpContext.Current.Server.MapPath("/tempfile") + "\\";//服务器临时路径(不含文件名和后缀)
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}string fileName = DateTime.Now.Ticks + "_" +myFile.FileName;string fileFull = uploadPath + fileName;//文件路径,包含文件名和后缀
try{
myFile.SaveAs(fileFull);//保存文件
}catch(Exception ex)
{
com.log.Loger.Debug("uploadMediaSource 保存文件失败", ex);
}
}
}
}else{
functionBackMessage.IsSuccess= false; functionBackMessage.Message = "没有获取到上传文件";
}
}return Json(functionBackMessage, "application/json");
}
}