GetTempFileName()和适当的文件扩展名

时间:2014-09-22 14:53:26

标签: c#

我使用GetTempFileName()将数据库中的字节写入临时文件。这些文件通常是PDF类型,但是,它们可以并且确实有所不同。

我遇到了一个问题,即尝试Process.Start(tempPath)会抛出错误,因为Windows无法找到带有.tmp文件的关联程序。

与编写一个验证mime类型并根据需要调整文件名的自定义方法相反,是否有任何通用/标准的方法来处理.NET中的.tmp文件类型?

1 个答案:

答案 0 :(得分:2)

我猜相关问题的Reed Copsey's answer有助于回答你的问题:

您可以将扩展名附加到自动生成的临时文件:

string filename = System.IO.Path.GetTempFileName() + ".pdf"; // Makes something like "C:\Temp\blah.tmp.pdf"

File.WriteAllBytes(filename, filedata);

var process = Process.Start(filename);
// Clean up our temporary file...
process.Exited += (s,e) => System.IO.File.Delete(filename);