string path = Path.GetDirectoryName(Application.ExecutablePath) +
"\\" + directores[directores.Length - 2] +
"\\" + Path.GetFileName(url_img).Replace(" ", "_");
client.DownloadFileAsync(new Uri(url_img), path);
这段代码不起作用,当我通过MessageBox检查它时路径似乎很好:
我也尝试使用@
符号,但它既不起作用。
如果我不输入路径而是输入名称,例如
client.DownloadFileAsync(new Uri(url_img), "test");
一切都好。我该如何解决这个问题?
忘记添加:如果这样的路径不存在,我想创建它!
答案 0 :(得分:2)
每当使用异步方法时,您有责任检查结果。对于DownloadFileAsync
,责任是实施DownloadFileCompleted
。在这种情况下,请查看Error
,它会为您提供关于为什么失败的宝贵线索。
答案 1 :(得分:-1)
找到解决方案:
if (!Directory.Exists(directores[directores.Length - 2]))
Directory.CreateDirectory(directores[directores.Length - 2]);
string path = Path.GetDirectoryName(Application.ExecutablePath) +
"\\" + directores[directores.Length - 2] +
"\\" + Path.GetFileName(url_img).Replace(" ", "_");
if (!Directory.Exists(directores[directores.Length - 2])) Directory.CreateDirectory(directores[directores.Length - 2]);
client.DownloadFileAsync(new Uri(url_img), path);
感谢您的帮助。
因此,如果该文件不存在,此函数不会创建文件夹,我们必须先创建它。