通过HtmlInputFile控件上传文件的类

using  System;
using  System.Web.UI.HtmlControls;
using  System.IO;

namespace  Document.Bll
{
    
public class HtmlInputFileControl
    
{
        
HtmlInputFileControl#region HtmlInputFileControl
        
public HtmlInputFileControl()
        
{
        }

        
#endregion


        
IsAllowedExtension是否允许该扩展名上传#region IsAllowedExtension是否允许该扩展名上传
        
public static bool IsAllowedExtension(HtmlInputFile hifile)
        
{
            
string strOldFilePath = "",strExtension = "";

            
//允许上传的扩展名,可以改成从配置文件中读出
            string[] arrExtension = {".gif",".jpg",".jpeg",".bmp",".png"};

            
if(hifile.PostedFile.FileName != string.Empty)
            
{
                strOldFilePath 
= hifile.PostedFile.FileName;
                
//取得上传文件的扩展名
                strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));
                
//判断该扩展名是否合法
                for(int i = 0; i< arrExtension.Length; i++)
                
{
                    
if(strExtension.Equals(arrExtension[i]))
                    
{
                        
return true;
                    }

                }

            }
        
            
return false;
        }

        
#endregion


        
IsAllowedLength判断上传文件大小是否超过最大值#region IsAllowedLength判断上传文件大小是否超过最大值
        
public static bool IsAllowedLength(HtmlInputFile hifile)
        
{
            
//允许上传文件大小的最大值,可以保存在xml文件中,单位为KB
            int i = 20;
            
//如果上传文件的大小超过最大值,返回flase,否则返回true.
            if(hifile.PostedFile.ContentLength > i * 1024)
            
{
                
return false;
            }

            
return true;
        }

        
#endregion


        
SaveFile上传文件并返回文件名#region SaveFile上传文件并返回文件名
        
public static string SaveFile(HtmlInputFile hifile,string strAbsolutePath)
        
{
            
string strOldFilePath = "",strExtension = "",strNewFileName = "";

            
if(hifile.PostedFile.FileName != string.Empty)
            
{
                strOldFilePath 
= hifile.PostedFile.FileName;
                
//取得上传文件的扩展名
                strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));
                
//文件上传后的命名
                strNewFileName = GetUniqueString() + strExtension;
                
if(strAbsolutePath.LastIndexOf("\\"== strAbsolutePath.Length)
                
{
                    hifile.PostedFile.SaveAs(strAbsolutePath 
+ strNewFileName);    
                }

                
else
                
{
                    hifile.PostedFile.SaveAs(strAbsolutePath 
+ "\\" + strNewFileName);    
                }

            }

            
return strNewFileName;
        }

        
#endregion


        
CoverFile重新上传文件,删除原有文件#region CoverFile重新上传文件,删除原有文件
        
public static void CoverFile(HtmlInputFile ffFile,string strAbsolutePath,string strOldFileName)
        
{
            
//获得新文件名
            string strNewFileName = GetUniqueString();

            
if(ffFile.PostedFile.FileName != string.Empty)
            
{
                
//旧图片不为空时先删除旧图片
                if(strOldFileName != string.Empty)
                
{                    
                    DeleteFile(strAbsolutePath,strOldFileName);                                        
                }

                SaveFile(ffFile,strAbsolutePath);
            }
            
        }

        
#endregion


        
DeleteFile删除指定文件#region DeleteFile删除指定文件
        
public static void DeleteFile(string strAbsolutePath, string strFileName)
        
{
            
if(strAbsolutePath.LastIndexOf("\\"== strAbsolutePath.Length)
            
{
                
if(File.Exists(strAbsolutePath + strFileName))
                
{                    
                    File.Delete(strAbsolutePath 
+ strFileName);
                }

            }

            
else
            
{                
                
if(File.Exists(strAbsolutePath + "\\" + strFileName))
                
{                    
                    File.Delete(strAbsolutePath 
+ "\\" + strFileName);
                }

            }

        }

        
#endregion


        
GetUniqueString获取一个不重复的文件名#region GetUniqueString获取一个不重复的文件名        
        
public static string GetUniqueString()
        
{            
            
return DateTime.Now.ToString("yyyyMMddhhmmss");
        }

        
#endregion

    }

}
 

转载于:https://www.cnblogs.com/leonardleonard/archive/2007/03/19/1928375.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值