我有Visual Studio 11(Windows 8开发人员)我创建了一个下载程序文件:
string sUrlToReadFileFrom = "http://mysite/1.mp3";
int iLastIndex = sUrlToReadFileFrom.LastIndexOf('/');
string sDownloadFileName = sUrlToReadFileFrom.Substring(iLastIndex + 1, (sUrlToReadFileFrom.Length - iLastIndex - 1));
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
client.DownloadFileAsync(new Uri("http://mysite/1.mp3"), "C:\\Windows\\Temp" + "\\" + sDownloadFileName);
但它开始不起作用!如果我在“E:\ Temp”中更改文件夹“C:\ Windows \ Temp”,则下载开始。驱动器C:\不起作用,为什么? 可以保存在临时文件夹中,或者你有其他想法吗?
答案 0 :(得分:4)
尚未使用Windows 8,这只是猜想,但您可能没有对C:\上该位置的写权限作为标准权限用户。
答案 1 :(得分:3)
试试这个:
string tempPath = System.IO.Path.GetTempPath();
有效吗?
答案 2 :(得分:2)
改为使用环境变量
Environment.GetFolderPath(Environment.LocalApplicationData)
答案 3 :(得分:2)
您可以使用临时文件夹路径:
string tempPath = System.IO.Path.GetTempPath();
答案 4 :(得分:0)
使用以下其中一项:
Path.GetTempPath()
Environment.SpecialFolder
例如LocalApplicationData
或MyDocuments