文档章节

很不错的asp.net文件上传类c# 搜索文件 移动文件 删除文件等

深圳大道
 深圳大道
发布于 2016/12/29 15:39
字数 459
阅读 8
收藏 0
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.IO;


namespace Tool
{
    /// <summary>
    /// file operate class
    /// </summary>
    public class FileUpload
    {
        /// <summary>
        /// Upload file
        /// </summary>
        /// <param name="path">The path of folder you want to put the file</param>
        /// <param name="UpFile">A entity of class HtmlInputFile</param>
        /// <param name="docType">Allowed file type eg:'PNG,JPG,TIF,GIF,BMP'</param>
        /// <returns>Result of upload</returns>
        //public  string Upload(string path,System.Web.UI.HtmlControls.HtmlInputFile UpFile,string docType)
        public string Upload(string path, System.Web.UI.WebControls.FileUpload UpFile, string docType)
        {
            string modifyFileName = DateTime.Now.Year.ToString();
            modifyFileName += DateTime.Now.Month.ToString();
            modifyFileName += DateTime.Now.Day.ToString();
            modifyFileName += DateTime.Now.Hour.ToString();
            modifyFileName += DateTime.Now.Minute.ToString();
            modifyFileName += DateTime.Now.Second.ToString();
            modifyFileName += DateTime.Now.Millisecond.ToString();
            string value = UpFile.FileName;
            string tFileType = value.Substring(value.LastIndexOf(".") + 1);
            string[] allowedType = docType.Split(',');
            bool TypeMatched = false;
            if (value == "" || value == null)
            {
                return "-1";             //Error:Uploaded file is null!
            }
            else
            {
                int FileLength = UpFile.PostedFile.ContentLength;
                if (FileLength > (20 * 1024 * 1024))
                {
                    return "-2";        //Error:Uploaded file is too large!
                }
                foreach (string type in allowedType)
                {
                    if (type.ToLower().IndexOf(tFileType) != -1)
                    {
                        TypeMatched = true;
                    }
                }
                if (!TypeMatched)
                {
                    return "-3"; //Error:Wrong type of Uploaded file!
                }
                string dirPath = System.Web.HttpContext.Current.Server.MapPath(path);
                System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(dirPath);
                if (!dir.Exists)
                {
                    dir.Create();
                }
                path = path + modifyFileName + "." + tFileType;
                UpFile.PostedFile.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path));
                return System.Web.HttpContext.Current.Server.MapPath(path);     //Upload succeed!
            }
        }

        /// <summary>
        /// Search a file from the mapped path 
        /// </summary>
        /// <param name="path">The mappsed path</param>
        /// <param name="fileName">The file name for search</param>
        /// <returns>Result of search</returns>
        public int SearchFile(string path, string fileName)
        {
            System.IO.DirectoryInfo SearchDir = new System.IO.DirectoryInfo(System.Web.HttpContext.Current.Server.MapPath(path));
            foreach (System.IO.FileInfo File in SearchDir.GetFiles())
            {
                if (File.Name.IndexOf(fileName) != -1)
                {
                    return 1;// Find
                }
            }
            return 0;//Not find
        }

        /// <summary>
        /// Delete a file
        /// </summary>
        /// <param name="path">The path of file</param>
        /// <returns>The result of delete</returns>
        public int DeleteFile(string path)
        {
            System.IO.FileInfo File = new System.IO.FileInfo(System.Web.HttpContext.Current.Server.MapPath(path));
            if (File.Exists)
            {
                if (File.IsReadOnly)
                {
                    return -1;//The file is readonly
                }
                else
                {
                    File.Delete();
                    return 1;//Delete succeed
                }
            }
            else
            {
                return 0;//The file is not exsits
            }
        }

        /// <summary>
        /// Move a file
        /// </summary>
        /// <param name="sFolder">source folder</param>
        /// <param name="sName">source name</param>
        /// <param name="tFolder">object folder</param>
        /// <param name="tName">object name</param>
        /// <returns></returns>
        public int FileMove(string sFolder, string sName, string tFolder, string tName)
        {
            string[] arrDirs = Directory.GetDirectories(sFolder);
            string[] arrFiles = Directory.GetFiles(sFolder);

            if (arrFiles.Length != 0)
            {
                //copy this file 
                File.Copy(sFolder + "//" + sName, tFolder + "//" + tName, true);

                //delete the old file
                return DeleteFile(sFolder + "//" + sName);

            }
            else
            {
                return -1;
            }
        }

        /// <summary>
        /// Move selected files
        /// </summary>
        /// <param name="sFolder">source folder</param>
        /// <param name="tFolder">object folder</param>
        public void FileMove(string sFolder, string tFolder)
        {
            string[] arrDirs = Directory.GetDirectories(sFolder);
            string[] arrFiles = Directory.GetFiles(sFolder);

            if (arrFiles.Length != 0)
            {

                for (int i = 0; i < arrFiles.Length; i++)
                {
                    //copy these files
                    File.Copy(sFolder + "//" + Path.GetFileName(arrFiles[i]), tFolder + "//" + Path.GetFileName(arrFiles[i]), true);

                    //delete old files
                    DeleteFile(sFolder + "//" + Path.GetFileName(arrFiles[i]));
                }
            }
        }
    }
}

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/8129129

深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
【转载】ASP.NET工具类:文件夹目录Directory操作工具类

在ASP.NET开发网站的过程中,有时候会涉及到文件夹相关操作,如判断文件夹目录是否存在、删除文件夹目录、创建文件、删除文件、复制文件夹等等。这一批有关文件目录的操作可以通过Directory...

江湖逍遥
03/22
0
0
学习ASP.NET Core Razor 编程系列十五——文件上传功能(三)

学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目...

DotNet菜园
2018/07/11
0
0
在Win 2003中配置ASP.net环境

作者:未知 大家知道,Microsoft为了更好地预防恶意用户和攻击者的攻击,在默认情况下,没有将 IIS6.0 安装到 Windows Server 2003 家族的成员上。而且,当我们最初安装 IIS6.0 时,该服务在...

晨曦之光
2012/03/09
102
0
asp.net core系列 39 Razor 介绍与详细示例

一. Razor介绍   在使用ASP.NET Core Web开发时, ASP.NET Core MVC 提供了一个新特性Razor。 这样开发Web包括了MVC框架和Razor框架。对于Razor来说它是一个新特性,在官方介绍ASP.NET Cor...

花阴偷移
03/08
0
0
在ASP.NET中获取文件属性

www.chinacs.net 2001-8-13 中文C#技术站 在ASP.NET中获取文件属性(Retrieving File Information In ASP.NET) By Steven Smith 使用ASP.NET我们可以很容易的得到文件的相关信息,包括:文件...

晨曦之光
2012/03/09
105
0

没有更多内容

加载失败,请刷新页面

加载更多

动态代理知识详解

动态代理实现的两种方式 给动态代理举个栗子:例如我们平时买笔记本电脑,很多时候都是不从厂家拿货,而是通过经销商买电脑。代理模式出现解决了生产厂家的一些问题,那么这个这个思想在我们...

我叫小糖主
10分钟前
0
0
Calendar TimeZone SimpleDateFormat

关于Calendar类的使用可参考:Java Calendar类的使用总结 获取日历(Calendar):java.util.Calendar#getInstance() 获取时区TimeZone: TimeZone.getTimeZone("GMT+00:00"); 或:TimeZone.ge......

Hzhodor
10分钟前
0
0
这 17 个 JVM 参数,高级 Java 必须掌握

前言 大家都知道,jvm在启动的时候,会执行默认的一些参数。一般情况下,这些设置的默认参数应对一些平常的项目也够用了。但是如果项目特别大了,需要增加一下堆内存的大小、或者是系统老是莫...

编程SHA
16分钟前
0
0
jenkins配置自动发送邮件

1.开通QQ的SMTP服务,需要发一条短信,qq会给你一个密码(不是你的QQ邮箱密码哦) 2.安装 Email Extension Plugin 插件 3.进入系统管理--系统设置 3.1按照如下图设置 首先找到 Extended E-m...

shzwork
20分钟前
0
0
网络请求异常拦截优化

目录介绍 01.网络请求异常分类 02.开发中注意问题 03.原始的处理方式 04.如何减少代码耦合性 05.异常统一处理步骤 06.完成版代码展示 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础...

潇湘剑雨
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部