在哪里写我的临时文件?

tom*_*tom 15 c# file-io

我有很多byte []代表pdf.每个字节数组都需要在应用程序的开头加载,并在我的gui上显示为缩略图.到目前为止,我已设法使用以下方法将文件写入临时位置:

System.IO.Path.GetTempPath();
Run Code Online (Sandbox Code Playgroud)

然后使用这个路径我得到所有pdf文件,使用它们编写

System.IO.File.WriteAllBytes(fileName, arrayOfPdfs[i]);
Run Code Online (Sandbox Code Playgroud)

然后导航到该目录,获取所有pdf文件并将其转换为我的应用程序中的缩略图.

问题是我只想要我刚才放在临时位置的pdf,所以我怎么能存储pdf,甚至我还能在哪里存储它们所以我知道什么时候我把它们变成缩略图,文件我正在读的是我刚写的那些?这样我可以确定用户只查看与他们在我的系统上搜索相关的相关pdf.

谢谢.

Chr*_*heD 27

在基本临时目录中构建一个随机命名的目录:

string directoryName = Path.GetRandomFileName();
Directory.CreateDirectory(Path.Combine(Path.GetTempPath(), directoryName));
Run Code Online (Sandbox Code Playgroud)

将文件存储在那里.


Qui*_*son 7

我建议您的用户为您的应用程序操作系统提供的ApplicationData/LocalApplicationData文件夹.

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
Run Code Online (Sandbox Code Playgroud)

当然,如果存储不需要持续很长时间(非常临时),那么您可以使用临时文件夹并在其中创建一个文件夹以隔离您的文件.