根据文件内容

时间:2016-01-14 13:19:31

标签: c#

我想将文件上传到C#项目中的Web服务器,我已经使用GUID获取唯一的文件名。唯一的问题是,这样我可以多次上传同一个文件,并且总是使用不同的文件名
我想找到一种方法来为文件提供一个唯一的名称但总是相同的,所以如果我再次尝试上传它,它将具有相同的文件名,并且我收到一条消息,表明它已经存在。

有什么想法?

2 个答案:

答案 0 :(得分:4)

为您的文件创建MD5校验和并将其用作文件名。

答案 1 :(得分:1)

使用以下代码生成文件名。 ComputeHash将生成散列,GetString将字节数组转换为字符串。

using (var md5 = MD5.Create())
    {
        using (var stream = new BufferedStream(File.OpenRead(myFile)))
        {
            return string.Concat(md5.ComputeHash(stream));
        }
    }