【发布时间】:2019-04-10 06:48:33
【问题描述】:
原始图像(.jpg)文件大小为 49kb,但下载后文件大小为 87kb,并且已损坏。但是对于文本文件,它可以工作。使用 HttpWebRequest 或其他 System.Net 类下载图像需要做什么? 我在本地使用 XAMPP。
//Usage: HttpDownload("http://www.localhost/files/imagine.jpg", "seo.jpg");
static async void HttpDownload(string remoteFileOrUri, string localFileName)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(remoteFileOrUri));
HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync();
StreamReader rdr = new StreamReader(response.GetResponseStream());
StreamWriter sw = new StreamWriter(File.OpenWrite(localFileName));
sw.Write(rdr.ReadToEnd());
sw.Flush();
rdr.Close();
sw.Close();
Console.WriteLine("fin!");
}
【问题讨论】:
-
您不应将
StreamReader和StreamWriter用于非文本内容。当您使用它们时,将应用编码。 Read this to find out more.
标签: c# io system.net