如何在C#中创建随机图像名称?

saa*_*dan 8 c# random filenames

当我添加图片时,我希望它创建一个新的随机文件名,因为如果你添加一个具有相同名称的图片,它将只是覆盖.

Ale*_*lex 7

这是一种内置方法Path.GetRandomFileName.它返回一个随机文件夹名称或文件名.

GetRandomFileName方法返回加密强大的随机字符串,可用作文件夹名称或文件名.与GetTempFileName不同,GetRandomFileName不会创建文件.当文件系统的安全性至关重要时,应该使用此方法而不是GetTempFileName.

如果您想使用您的扩展(例如,.jpg而不是生成),您可以使用另一个帮助方法Path.ChangeExtension:

string extension = ".jpg";
string fileName = Path.ChangeExtension(
    Path.GetRandomFileName(),
    extension
);
Run Code Online (Sandbox Code Playgroud)

System.IO.Path.GetRandomFileName获取保证唯一的文件名.


Chr*_*cht 5

由于您想保存图片,您可以使用GUID作为文件名:

string filename = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".jpg");
Run Code Online (Sandbox Code Playgroud)

当我需要另一个文件扩展名而不是.tmp(当你通过GetTempFileName创建文件时获取文件扩展名)时,我总是这样做.
当然你可以通过GetTempFileName创建文件,然后重命名它们,但是你必须再次检查是否存在具有新名称的文件...


Mat*_*att 4

您可以生成一个 Guid 并将其用作文件名。尽管这意味着这些文件不是人类可读的,并且没有关于内容的信息。