将图像从URL保存到C#中的本地文件

本文关键字:文件 图像 URL 保存 | 更新日期: 2023-09-27 18:24:27

我有以下代码,可以将带有URL的图像保存到本地文件中。

using (WebClient client = new WebClient())
{
    client.DownloadFile("http://images.craigslist.org/00o0o_kFhPDdTGf2e_600x450.jpg", "c:''Tmp'test.jpg");
}

但当我运行它时,我会遇到一个异常。它说"WebClient请求过程中出现异常。"当我在deubgger中看到这个例外时。上面写着"路径中有非法字符"

我通过浏览器检查url是否有效。那么问题出在哪里呢?

将图像从URL保存到C#中的本地文件

您应该使用类似的,@符号

      using (WebClient client = new WebClient())
        {
            client.DownloadFile(@"http://images.craigslist.org/00o0o_kFhPDdTGf2e_600x450.jpg",                                @"c:''Tmp'test.jpg");
        }

您的路径包含一个制表符:'t。转义第二个反斜杠:"C:''Tmp''test.jpg"

"c:''Tmp'test.jpg"

您忘记逃离第二个t

您应该使用@"c:'Tmp'test.jpg""c:''Tmp''test.jpg"

只需在路径名之前放一个@符号。

       using (WebClient client = new WebClient())
        {
            client.DownloadFile(@"http://images.craigslist.org/00o0o_kFhPDdTGf2e_600x450.jpg", @"c:'Tmp'test.jpg");
        }

您的路径包含't,这是一个非法的路径字符。反斜杠是C#中的保留字符,用于制表符和换行符等字符,因此必须转义。

您可以将其设为双反斜杠"C:''Tmp''test.jpg",也可以在@"C:'Tmp'test.jpg" 的开头用@字符转义整个字符串

尝试:

"C:''Tmp''test.jpg"

对于您的文件名

像对待其他绳子一样对待它们。第一个反斜杠是转义符,第二个是识别反斜杠