zoukankan      html  css  js  c++  java
  • C#上传文件的一个实现

    using System;
    using System.Data;
    using System.Data.SqlClient;
    using CA.Components;        //全部在组件名称空间下

    namespace CA.Components
    {
        /// <summary>
        /// General 的摘要说明。
        /// 发布日期:2002-8-8 原作者:雷神
        /// 此程序属模式小组 HTTP://WWW.AI361.COM/PROJECT/
        /// 在sql2000,WIN2000s+.net+iis5中测试通过
        /// </summary>
        public class General
        {
            private string FilePath; //文件路径

            //定义一个枚举用来存放文件的信息       
            public enum File
            {
                FILE_SIZE ,        //大小
                FILE_POSTNAME,    //
                FILE_SYSNAME ,
                FILE_ORGINNAME,
                FILE_PATH
            };
            //构造函数
            public general()
            {
                //在WEB.CONFIG中设定AppSettings["filepath"],用于存放文件的路径。
                FilePath = System.Configuration.ConfigurationSettings.AppSettings["filepath"];
            }

            /// <summary>
            /// 上传文件通用函数,此方法为静态,系统任何时候均可调用。
            /// </summary>
            /// <param name="file">参数为页面的FILE控件对象</param>
            /// <returns></returns>
            public static string[] UploadFile(HtmlInputFile file)
            {
                string[] arr = new String[5];
                //通过系统时间生成文件名,此功能可以封闭掉,不过中文长文件名支持的不好。
                string FileName = DateTime.Now.ToString().Replace(" ","").Replace(":","").Replace("-","");
                string FileOrginName = file.PostedFile.FileName.Substring(file.PostedFile.FileName.LastIndexOf("\\")+1);
                if(file.PostedFile.ContentLength<=0)
                    return null;
                string  postFileName;
                string path = new general().FilePath+"\\";
                try
                {
                    int pos = file.PostedFile.FileName.LastIndexOf(".")+1;
                    postFileName = file.PostedFile.FileName.Substring(pos,file.PostedFile.FileName.Length-pos);
                    file.PostedFile.SaveAs(path+FileName+"."+postFileName);
                }
                catch(Exception exec)
                {
                    throw(exec);
                }
                double unit = 1024;
                double size =  Math.Round(file.PostedFile.ContentLength/unit,2);
                arr[(int)File.FILE_SIZE] = size.ToString();//文件大小
                arr[(int)File.FILE_POSTNAME] = postFileName;//文件类型(文件后缀名)
                arr[(int)File.FILE_SYSNAME] = FileName;//文件系统名
                arr[(int)File.FILE_ORGINNAME] = FileOrginName;//文件原来的名字
                arr[(int)File.FILE_PATH]=path+FileName+"."+postFileName;//文件路径
                return arr;
                //throw(new Exception(HtmlUtility.HtmlEncode(IDNO.PostedFile.FileName)));
            }
          }
       }

  • 相关阅读:
    【02】Nginx:基本配置和日志处理
    【01】Nginx:编译安装/动态添加模块
    【09】Jenkins:Pipeline 补充
    【08】Jenkins:关于发布
    【07】Jenkins:流水线(Pipeline)
    【06】Jenkins:Gitlab 自动触发构建以及钉钉通知
    【05】Jenkins:用户权限管理
    【04】Jenkins:基本功能补充说明
    【03】Jenkins:SonarQube
    【02】Jenkins:第一个项目
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1812439.html
Copyright © 2011-2022 走看看