C#上传文件的一个实现

上传

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

If you have any question or comments,Please mail to me (lsmodel@ai361.com) or discuss in our forum ( http://www.ai361.com/bbs).
正文完

时间: 2024-08-31 01:53:06

C#上传文件的一个实现的相关文章

无组件上传文件,一个函数搞定

函数|上传|无组件 本函数是用"化境ASP无组件上传程序2.0"上传文件.核心函数:<%'''''=============================='函数名:upfile'作用: 使用"化境上传组件"上传文件到服务器上'参数: file1 文件对象 ' savepath 文件要保存的相对路径,如"../"上一级上录,""同目录 ' maxsize 允许上传文件的最大值,单位KB.为0不限大小.' savetyp

通过隐藏iframe实现无刷新上传文件操作_javascript技巧

其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点.当然Ajax出现之后,人们一窝蜂地投奔Ajax 的阵营了,iFrame 就乏人问津了.但是用iFrame来实现无刷新上传文件确实一个很好的选择. 解决办法是通过一个隐藏的iframe来处理上传操作我采用的是ReactJS,amazeui,nodejs 1.html target指向iframe的name,就是把上传后的操作交给iframe来处理. <form id="supplyformFile&qu

ajax +jsp+iframe无刷新上传文件

  http://hi.baidu.com/zj360202/blog/item/f23e3711f929c774cb80c475.html ajax jsp 无刷新上传文件 2009-10-26 16:43首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是不可能的.    而本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"

深入分析PHP上传文件的案例(适合初学者)

通过 PHP,可以把文件上传到服务器. 创建一个文件上传表单 允许用户从表单上传文件是非常有用的. 请看下面这个供上传文件的 HTML 表单:  代码如下 复制代码 <html>  <body>  <form action="upload_file.php" method="post"  enctype="multipart/form-data">  <label for="file"

PHP上传文件示例程序代码(适合初学者)

创建一个文件上传表单 允许用户从表单上传文件是非常有用的. 请看下面这个供上传文件的 HTML 表单:  代码如下 复制代码 <html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data">  <label for="attach_file">Filename:<

php无刷新利用iframe实现页面无刷新上传文件(1/2)

利用form表单的target属性和iframe 一.上传文件的一个php教程方法. 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失败,则返回空字符串. php代码     function uploadfile($file) {         // 上传路径     $destinationpath = "./upload/";         if (!file_exists($destinationpath)){   

一个函数无组件上传文件

函数|上传|无组件 <% '''''============================== '函数名:upfile '作用: 使用"化境上传组件"上传文件到服务器上 '参数: file1 文件对象 ' savepath 文件要保存的相对路径,如"../"上一级上录,""同目录 ' maxsize 允许上传文件的最大值,单位KB.为0不限大小. ' savetype 允许上传文件的类型,0不限制,限制的格式.如.jpg|.bmp|.zi

应用-一个web管理端接收大量客户端上传文件的问题

问题描述 一个web管理端接收大量客户端上传文件的问题 应用场景:一个Java实现的web管理端,对应多个客户端(C++实现,客户端大约有2万台),在管理端通过设置关键字抓取客户端的命中文件,如在管理端设定"你好"关键字下发到各客户端,各客户端会自动搜索本机器上带"你好"关键字的各种类型的文件并将命中文件上报到管理,现在想问的是在管理端如何接收个客户端上传的文件,通过HTTP方式接收还是FTP方式接收,由于客户端数目较多,且可能由于关键字设置过于普通(如"

HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo

26 集群使用初步 HDFS的设计思路 l 设计思想   分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析:   l 在大数据系统中作用: 为各类分布式运算框架(如:mapreduce,spark,tez,--)提供数据存储服务   l 重点概念:文件切块,副本存放,元数据 26.1 HDFS使用 1.查看集群状态 命令:   hdfs  dfsadmin –report 可以看出,集群共有3个datanode可用 也可打开web控制台查看