internal static async Task <Stream> DownloadToStream(string url) { //Log.Info("要保存为流的文件路径: " + url); url = url.ToLower(); var uri = new Uri(url); var host = uri.GetLeftPart(UriPartial.Authority); string requestUrl = host.EndsWith("/") ? url.Substring(host.Length) : url.Substring(host.Length + 1); var client = HttpClientContext.GetOrAddClient(host); //var content = await client.GetStreamAsync(requestUrl); var res = await client.GetAsync(requestUrl); if (res.IsSuccessStatusCode) { var content = await res.Content.ReadAsStreamAsync(); var ms = new MemoryStream(); await content.CopyToAsync(ms); //Log.Info("文件长度:" + ms.Length); ms.Position = 0; return(ms); } Log.Warn("要保存为流的文件不存在: " + url); return(null); }