/// <summary>
/// 生成临时文件
/// </summary>
/// <param name="tmpDirectory">临时文件目录</param>
/// <param name="fs">临时文件流(该流会被关闭)</param>
/// <param name="extension">临时文件后缀名(带.)</param>
/// <returns>临时文件全路径</returns>
public static string CreateTmpFile(string tmpDirectory, Stream fs, string extension)
{
// 生成临时文件名
string tmpFileName = string.Empty;
Random random = new Random(DateTime.Now.Second);
tmpFileName = string.Format("tmp{0}{1}", random.Next().ToString(), extension);
string tmpFilePath = Path.Combine(tmpDirectory, tmpFileName);
// 生成临时文件夹
DirectoryInfo tmpDir = new DirectoryInfo(tmpDirectory);
if (!tmpDir.Exists)
{
tmpDir.Create();
}
// 生成临时文件
FileStream tmpFs = File.Create(tmpFilePath);
byte[] fsByte = new byte[fs.Length];
fs.Read(fsByte, 0, fsByte.Length);
fs.Close();
tmpFs.Write(fsByte, 0, fsByte.Length);
tmpFs.Flush();
tmpFs.Close();
tmpFilePaths.Add(tmpFilePath);
return tmpFilePath;
}