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)));
            }
          }
       }

  • 相关阅读:
    Linux环境下安装Tigase XMPP Server
    虚拟机几种网络连接方式的区别
    MySQL修改root密码
    Eclipse使用多个Console
    Eclipse导入Java项目时“No projects are found to import”错误的处理
    GitHub上下载源代码的方法
    Tigase XMPP Server的安装
    MySQL的安装与配置
    Windows下查看JDK是否安装以及安装路径
    archive for required library...
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1812439.html
Copyright © 2011-2022 走看看