zoukankan      html  css  js  c++  java
  • 计算文件的md5值和保存文件


    public class saveExcle : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
    context.Response.ContentType = "text/plain";

    HttpPostedFile hpf=context.Request.Files[0];
    string ext = Path.GetExtension(hpf.FileName);

    if (ext==".xls")
    {
    string name = hpf.FileName;
    string dir = "/UplaodExcle/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/";
    System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(context.Server.MapPath(dir)));//新建文件夹.
    //需要对上传的文件进行重命名.(根据上传图片的MD5值进行命名,并且构建好完整的文件存放路径)
    string fullDir = dir + GetStreamMD5(hpf.InputStream) + ext;
    string url = fullDir;
    hpf.SaveAs(context.Server.MapPath(fullDir));//保存
    context.Response.Write(fullDir);
    }
    }

    public bool IsReusable {
    get {
    return false;
    }
    }

    /// <summary>
    /// 计算文件的MD5值
    /// </summary>
    /// <param name="filepath"></param>
    /// <returns></returns>
    public String GetStreamMD5(System.IO.Stream stream)
    {
    string strResult = "";
    string strHashData = "";
    byte[] arrbytHashValue;
    System.Security.Cryptography.MD5CryptoServiceProvider oMD5Hasher =
    new System.Security.Cryptography.MD5CryptoServiceProvider();
    arrbytHashValue = oMD5Hasher.ComputeHash(stream); //计算指定Stream 对象的哈希值
    //由以连字符分隔的十六进制对构成的String,其中每一对表示value 中对应的元素;例如“F-2C-4A”
    strHashData = System.BitConverter.ToString(arrbytHashValue);
    //替换-
    strHashData = strHashData.Replace("-", "");
    strResult = strHashData;
    return strResult;
    }
    }

  • 相关阅读:
    stm32之PWM博客好文收藏
    CSDN怎么转载别人的博客
    STM32F103单片机学习—— 通用定时器
    STM32 通用定时器好文章收藏
    stm32基本定时器timer6的原理与使用
    freertos优秀博客收藏
    StretchBlt函数和BitBlt函数的用法
    对话框添加背景图片
    vc 使窗口置顶 在最前面
    CWnd::MoveWindow 详解
  • 原文地址:https://www.cnblogs.com/fierceeagle/p/3507345.html
Copyright © 2011-2022 走看看