如何将下载的文件移动到用户临时路径?

How can I move a downloaded file to the users temp path?

我在 google 上查找过,自己尝试了任何答案,none 成功了。我想下载 2 个文件并将它们都保存到用户临时文件 (C:\Users%UserName%\AppData\Local\Temp)。我可以使用字符串 (string tempPath = Environment.GetEnvironmentVariable("TEMP");) 轻松找到临时文件

您可以直接下载到临时文件夹:

using System.Net;

string tempPath = Environment.GetEnvironmentVariable("TEMP");

using (var client = new WebClient())
{
    client.DownloadFile("http://example.com/file/file1.txt", @$"{tempPath}\file.txt");    
    client.DownloadFile("http://example.com/file/file2.txt", @$"{tempPath}\file2.txt");
}

或者移动已经下载的文件:

using System.IO;

string tempPath = Environment.GetEnvironmentVariable("TEMP");

File.Move(@"C:\User\Downloads\Filename.txt", @$"{tempPath}\file.txt");
File.Move(@"C:\User\Downloads\Filename2.txt", @$"{tempPath}\file2.txt");

字符串前的@字符串字面量$字符串插值你以后可以搜索这些不错的功能。

添加到已接受的答案中:

您还可以导出 download-folder 路径以在使用不同下载文件夹作为默认文件夹的计算机上工作。您可以在此处找到相关信息:How to programmatically derive Windows Downloads folder "%USERPROFILE%/Downloads"?

因此,如果您选择实施第二种解决方案(移动已下载的文件)并且需要在您自己以外的其他计算机上实施,这可能是个好主意。