Example #1
0
        /// <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);
        }