生成几乎不重复的文件名称

 //返回文件名
    /// <summary>生成文件名 </summary>
    /// <param name="name">文件原始名</param>
    /// <param name="extensionName">文件的扩展名</param>
    /// <returns></returns>
    private string FileNewName(string name, string extensionName)
    {
        string newFileName = string.Empty;//定义一个变量,用于返回最终的文件名称
        string newName = HttpUtility.UrlEncode(name);//对文件进行url编码,以防止文件名是中文的情况
        DateTime dt = DateTime.Now;//获得系统的当前时间
        Random rd = new Random();//实例化一个随机数对象
        int dateRd = rd.Next(dt.Second, dt.Millisecond);//取系统当前秒和毫秒之间的数随机数
        newFileName = MD5Encrypt(newName + dateRd .ToString());//将编码后的文件名和取得的随机数组合进行md5
        return newFileName.Substring(0, 20) + extensionName;//最后(截取md5后的字符串,非必须。注意这时生成的文件名还没有扩展名)加上文件原始的扩展名并返回
    }
*注:可以考虑将文件对象作为参数传递过来

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章