[HttpPost] 公共TaskImgUpload () {//检查是否是多部分/格式 如果(! Request.Content.IsMimeMultipartContent(“格式”)) 把新HttpResponseException (HttpStatusCode.UnsupportedMediaType);//文件保存目录路径 字符串SaveTempPath=皛/SayPlaces/?“/SayPic/SayPicTemp/? 字符串dirTempPath=HttpContext.Current.Server.MapPath (SaveTempPath);//设置上传目录 var提供者=new MultipartFormDataStreamProvider (dirTempPath);//var queryp=Request.GetQueryNameValuePairs();//获得查询字符串的键值集合 var=Request.Content.ReadAsMultipartAsync任务(提供者)。 ContinueWith (o=比; { 哈希表哈希=new散列表(); 散列(“错误”)=1; 散列(“errmsg”)="上传出错”; var文件=provider.FileData [0];//provider.FormData 字符串orfilename=file.Headers.ContentDisposition.FileName.TrimStart (“”) .TrimEnd (“”); FileInfo FileInfo=new FileInfo (file.LocalFileName);//最大文件大小 int最大尺寸=10000000; 如果(fileinfo。长度& lt;=0) { 散列(“错误”)=1; 散列(“errmsg”)="请选择上传文件。”; } else if (fileinfo。长度比;最大尺寸) { 散列(“错误”)=1; 散列(“errmsg”)="上传文件大小超过限制。”; } 其他的 { 字符串fileExt=orfilename.Substring (orfilename.LastIndexOf (' . '));//定义允许上传的文件扩展名 字符串文件=" gif、jpg, jpeg, png, bmp”; 如果(String.IsNullOrEmpty (fileExt) | | Array.IndexOf (fileTypes.Split (" "), fileExt.Substring (1) .ToLower ())==1) { 散列(“错误”)=1; 散列(“errmsg”)="上传文件扩展名是不允许的扩展名。”; } 其他的 { 字符串ymd=DateTime.Now。ToString(“名称”,System.Globalization.DateTimeFormatInfo.InvariantInfo); 字符串newFileName=DateTime.Now。ToString (“yyyyMMddHHmmss_ffff System.Globalization.DateTimeFormatInfo.InvariantInfo); fileinfo.CopyTo(路径。结合(dirTempPath newFileName + fileExt),真正的); fileinfo.Delete (); 散列(“错误”)=0; 散列(“errmsg”)="上传成功”; } } 返回哈希; }); 返回任务; }