访问Amazon V3 报表 Url的时候,直接下载一个文件了,我们怎么通过不直接下载直接解压获取里面的json呢?
找了很多资料没有适合我需求的,大部分写的都是url下载文件到本地,在从本地解压文件,再读取解压出来的json,这样耗时间也占本地内存,写了一个Helper方法,花了两天终于解决了这个问题分享给大家,这个方法可以直接通过url转成gz文件流,在从gz文件流解压里面的文件,最后转的文件流可以直接读取里面的json做相应的操作。
/// <summary>
/// url文件转流
/// </summary>
/// <param name="url">网页路径</param>
/// <returns></returns>
public static string HttpDownload(string url)
{
//获取url
using (var client = new WebClient())
{
byte[] bytes = client.DownloadData(url);//下载临时文件
// 把 byte[] 转换成 Stream
Stream stream = new MemoryStream(bytes);