/// <summary>
/// 根据url获取流
/// </summary>
/// <param name="url">路径</param>
public static MemoryStream GetImage(string url)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
WebResponse response = request.GetResponse();
var img = Image.FromStream(response.GetResponseStream());
MemoryStream memoryStream = new MemoryStream();
img.Save(memoryStream, ImageFormat.Png);
memoryStream.Seek(0, SeekOrigin.Begin);
return memoryStream;
}
/// <summary>
/// http下载文件
/// </summary>
/// <param name="url">下载文件地址</param>
/// <returns></returns>
public static Stream HttpDownload(string url)
{
using (var client = new WebClient())
{
string tempFile = Path.GetTempFileName();
client.DownloadFile(url, tempFile);//下载临时文件
Console.WriteLine("Using " + tempFile);
return FileToStream(tempFile, true);
}
}
/// <summary>
/// 文件转流
/// </summary>
/// <param name="fileName">文件路径</param>
/// <param name="isDelete">是否删除临时文件</param>
/// <returns></returns>
public static Stream FileToStream(string fileName, bool isDelete = false)
{
//打开文件
FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
// 读取文件的 byte[]
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, bytes.Length);
fileStream.Close();
// 把 byte[] 转换成 Stream
Stream stream = new MemoryStream(bytes);
if (isDelete)
{
File.Delete(fileName);//删除临时文件
}
return stream;
}
C# 根据url获取文件流流
最新推荐文章于 2024-04-12 18:01:25 发布