随笔- 80  文章- 0  评论- 15 
//判断文件类型是否符合标准
public static bool IsAllowedExtension(FileUpload hifile)
{
    System.IO.FileStream fs 
= new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
    System.IO.BinaryReader r 
= new System.IO.BinaryReader(fs);
    
string fileclass = "";
    
byte buffer;
    
try
    
{
        buffer 
= r.ReadByte();
        fileclass 
= buffer.ToString();
        buffer 
= r.ReadByte();
        fileclass 
+= buffer.ToString();

    }

    
catch
    
{

    }

    r.Close();
    fs.Close();
    
if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
    {
        
return true;
    }

    
else
    
{
        
return false;
    }

}


/// <summary>
/// 保存上传的文件
/// </summary>
/// <param name="fileType">要验证的文件类型</param>
/// <param name="lenghtKB">大小(单位:KB)</param>
/// <param name="filePath">保存的路径(绝对路径)</param>
/// <param name="upLoad">上传文件的控件</param>
/// <param name="fileName">成功:保存后的文件名.失败:错误信息</param>
/// <returns>是否保存成功</returns>

public static bool SaveFile(string fileType, int lenghtKB, string filePath, FileUpload upLoad, out string fileName)
{
    
//判断是否上传了文件
    if (!upLoad.HasFile)
    
{
        fileName 
= "无效的文件内容";
        
return false;
    }


    
//判断文件大小
    if (upLoad.PostedFile.ContentLength > lenghtKB * 1024)
    
{
        fileName 
= "文件超过上传大小";
        
return false;
    }


    
//文件类型
    string type = upLoad.FileName;
    
string last = type.Substring(type.LastIndexOf('.'+ 1);
    type 
= upLoad.PostedFile.ContentType;
    
//type = type.Substring(type.LastIndexOf('.') + 1);
    if (type.Substring(05!= fileType)
    
{
        fileName 
= "无效的文件类型";
        
return false;
    }


    DateTime date 
= DateTime.Now;

    
//生成文件名
    fileName = date.Year.ToString() + date.Month.ToString() + date.Day.ToString() + date.Hour.ToString() +
                date.Minute.ToString() 
+ date.Second.ToString() + GetRandom().Next(0999+ "." + last;
    upLoad.SaveAs(filePath 
+ @"\" + fileName);
    
return true;

}

  ,这个送给你!

 posted on 2008-07-15 11:13 ︷起↘嚸. 阅读(73) 评论(0)  编辑 收藏 网摘 所属分类: ASP.NET

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-07-18 13:53 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: