我有以下代码,用于将带有URL的图像保存到本地文件。
using (WebClient client = new WebClient())
{
client.DownloadFile("http://images.craigslist.org/00o0o_kFhPDdTGf2e_600x450.jpg", "c:\\Tmp\test.jpg");
}
但是当我运行它时,我得到一个例外。它说' WebClient请求期间发生了异常。" 当我在deubgger看到那个例外。它说路径中有非法字符。'
我通过浏览器检查网址是否有效。那么是什么导致了这个问题?
答案 0 :(得分:0)
您的路径包含制表符:\t
。逃避第二个反斜杠:"C:\\Tmp\\test.jpg"
答案 1 :(得分:0)
"c:\\Tmp\test.jpg"
你忘了逃避第二个t
。
您应该使用@"c:\Tmp\test.jpg"
或"c:\\Tmp\\test.jpg"
答案 2 :(得分:0)
只需在路径名称前添加@符号即可。
using (WebClient client = new WebClient())
{
client.DownloadFile(@"http://images.craigslist.org/00o0o_kFhPDdTGf2e_600x450.jpg", @"c:\Tmp\test.jpg");
}
答案 3 :(得分:0)
您的路径包含\t
,这是一个非法路径角色。反斜杠是C#中的保留字符,用于制表符和行结尾等字符,因此必须进行转义。
您可以将其设为双后斜杠"C:\\Tmp\\test.jpg"
,或者在开头{@ 1}}
答案 4 :(得分:0)
你应该使用@符号这样的
using (WebClient client = new WebClient())
{
client.DownloadFile(@"http://images.craigslist.org/00o0o_kFhPDdTGf2e_600x450.jpg", @"c:\\Tmp\test.jpg");
}
答案 5 :(得分:0)
尝试:
"C:\\Tmp\\test.jpg"
为您的文件名
像对待任何其他字符串那样处理它们。第一个反斜杠是转义字符,第二个是识别反斜杠