using System; using System.IO; namespace Ant.Service.Utilities { /// /// UpLoadFiles 的摘要说明 /// public class UpLoadFiles : System.Web.UI.Page { public UpLoadFiles() { // // TODO: 在此处添加构造函数逻辑 // } public string UploadFile(string filePath, int maxSize, string[] fileType, System.Web.UI.HtmlControls.HtmlInputFile TargetFile) { string Result = "UnDefine"; bool typeFlag = false; string FilePath = filePath; int MaxSize = maxSize; string strFileName, strNewName, strFilePath; if (TargetFile.PostedFile.FileName == "") { return "FILE_ERR"; } strFileName = TargetFile.PostedFile.FileName; TargetFile.Accept = "*/*"; strFilePath = FilePath; if (Directory.Exists(strFilePath) == false) { Directory.CreateDirectory(strFilePath); } FileInfo myInfo = new FileInfo(strFileName); string strOldName = myInfo.Name; strNewName = strOldName.Substring(strOldName.LastIndexOf(".")); strNewName = strNewName.ToLower(); if (TargetFile.PostedFile.ContentLength <= MaxSize) { for (int i = 0; i <= fileType.GetUpperBound(0); i++) { if (strNewName.ToLower() == fileType[i].ToString()) { typeFlag = true; break; } } if (typeFlag) { string strFileNameTemp = GetUploadFileName(); string strFilePathTemp = strFilePath; float strFileSize = TargetFile.PostedFile.ContentLength; strOldName = strFileNameTemp + strNewName; strFilePath = strFilePath + "\\" + strOldName; TargetFile.PostedFile.SaveAs(strFilePath); Result = strOldName + "|" + strFileSize; TargetFile.Dispose(); } else { return "TYPE_ERR"; } } else { return "SIZE_ERR"; } return (Result); } /// /// 上传文件 /// /// 保存文件地址 /// 文件最大大小 /// 文件后缀类型 /// 控件名 /// 保存后的文件名和地址 /// 文件大小 /// public string UploadFile(string filePath, int maxSize, string[] fileType, System.Web.UI.HtmlControls.HtmlInputFile TargetFile, out string saveFileName, out int fileSize) { saveFileName = ""; fileSize = 0; string Result = ""; bool typeFlag = false; string FilePath = filePath; int MaxSize = maxSize; string strFileName, strNewName, strFilePath; if (TargetFile.PostedFile.FileName == "") { return "请选择上传的文件"; } strFileName = TargetFile.PostedFile.FileName; TargetFile.Accept = "*/*"; strFilePath = FilePath; if (Directory.Exists(strFilePath) == false) { Directory.CreateDirectory(strFilePath); } FileInfo myInfo = new FileInfo(strFileName); string strOldName = myInfo.Name; strNewName = strOldName.Substring(strOldName.LastIndexOf(".")); strNewName = strNewName.ToLower(); if (TargetFile.PostedFile.ContentLength <= MaxSize) { string strFileNameTemp = GetUploadFileName(); string strFilePathTemp = strFilePath; strOldName = strFileNameTemp + strNewName; strFilePath = strFilePath + "\\" + strOldName; fileSize = TargetFile.PostedFile.ContentLength / 1024; saveFileName = strFilePath.Substring(strFilePath.IndexOf("FileUpload\\")); TargetFile.PostedFile.SaveAs(strFilePath); TargetFile.Dispose(); } else { return "上传文件超出指定的大小"; } return (Result); } public string UploadFile(string filePath, int maxSize, string[] fileType, string filename, System.Web.UI.HtmlControls.HtmlInputFile TargetFile) { string Result = "UnDefine"; bool typeFlag = false; string FilePath = filePath; int MaxSize = maxSize; string strFileName, strNewName, strFilePath; if (TargetFile.PostedFile.FileName == "") { return "FILE_ERR"; } strFileName = TargetFile.PostedFile.FileName; TargetFile.Accept = "*/*"; strFilePath = FilePath; if (Directory.Exists(strFilePath) == false) { Directory.CreateDirectory(strFilePath); } FileInfo myInfo = new FileInfo(strFileName); string strOldName = myInfo.Name; strNewName = strOldName.Substring(strOldName.Length - 3, 3); strNewName = strNewName.ToLower(); if (TargetFile.PostedFile.ContentLength <= MaxSize) { for (int i = 0; i <= fileType.GetUpperBound(0); i++) { if (strNewName.ToLower() == fileType[i].ToString()) { typeFlag = true; break; } } if (typeFlag) { string strFileNameTemp = filename; string strFilePathTemp = strFilePath; strOldName = strFileNameTemp + "." + strNewName; strFilePath = strFilePath + "\\" + strOldName; TargetFile.PostedFile.SaveAs(strFilePath); Result = strOldName; TargetFile.Dispose(); } else { return "TYPE_ERR"; } } else { return "SIZE_ERR"; } return (Result); } public string GetUploadFileName() { string Result = ""; DateTime time = DateTime.Now; Result += time.Year.ToString() + FormatNum(time.Month.ToString(), 2) + FormatNum(time.Day.ToString(), 2) + FormatNum(time.Hour.ToString(), 2) + FormatNum(time.Minute.ToString(), 2) + FormatNum(time.Second.ToString(), 2) + FormatNum(time.Millisecond.ToString(), 3); return (Result); } public string FormatNum(string Num, int Bit) { int L; L = Num.Length; for (int i = L; i < Bit; i++) { Num = "0" + Num; } return (Num); } } }