/// <summary> /// 上传文件 /// </summary> /// <param name="page">输入this.Page即可</param> /// <param name="file">file 控件名称</param> /// <param name="TargetDirectory">上传服务器上哪个目录(相对目录,如:../Images/)</param> /// <param name="ShortFileName">返回一个只有纯文件名的字符串</param> /// <param name="OverwriteExistFile">是否覆盖同名文件</param> /// <param name="LimitFileTypeList">限制的文件类型列表,如:image, text</param> /// <returns>返回: -1 解析文件错误; -2 OverwriteExistFile = false, 不覆盖已有文件时,文件已经存在; -3 上传错误; 0 OK</returns> public static int UploadFile(Page page, HtmlInputFile file, string TargetDirectory, ref string ShortFileName, bool OverwriteExistFile, string LimitFileTypeList) { if (!ValidFileType(file, LimitFileTypeList)) { return(-101); } string NewFile, NewFileShortName; try { NewFile = file.Value.Trim().Replace("\\", "\\\\"); NewFileShortName = NewFile.Substring(NewFile.LastIndexOf("\\") + 1, NewFile.Length - NewFile.LastIndexOf("\\") - 1); ShortFileName = NewFileShortName; } catch { return(-1); } string TargetFileName = page.Server.MapPath(TargetDirectory + NewFileShortName); if (System.IO.File.Exists(TargetFileName) && (!OverwriteExistFile)) { return(-2); } try { file.PostedFile.SaveAs(TargetFileName); } catch { return(-3); } return(0); }