public async Task <FileBytes> DownloadFileAsync(string url, object query = null) { HttpResponseMessage mes = await Get(url, query); if (mes.IsSuccessStatusCode) { FileBytes b = new FileBytes(); b.Bytes = await mes.Content.ReadAsByteArrayAsync(); b.FileName = url.GetAfter("/"); if (mes.Content.Headers.ContentDisposition != null) { b.FileName = mes.Content.Headers.ContentDisposition.FileName; } if (mes.Content.Headers.ContentType != null) { b.MimeType = mes.Content.Headers.ContentType.MediaType; } else { b.MimeType = MimeData.GetFileMimeType(b.FileName); } return(b); } else { return(null); } }
public async Task <FileBytes> DownloadFileAsync(string url, object query = null) { HttpResponseMessage mes = await GetAsync(url, query); if (mes.IsSuccessStatusCode) { var Bytes = await mes.Content.ReadAsByteArrayAsync(); var FileName = url.GetAfterLast("/")?.GetBeforeFirst("?"); FileBytes b = new FileBytes(FileName, Bytes); if (mes.Content.Headers.ContentDisposition != null) { b.FileName = mes.Content.Headers.ContentDisposition.FileName; } if (mes.Content.Headers.ContentType != null) { b.MimeType = mes.Content.Headers.ContentType.MediaType; } else { b.MimeType = MimeData.GetFileMimeType(b.FileName); } return(b); } else { string message = await mes.Content.ReadAsStringAsync(); throw new CodeShellHttpException(mes.StatusCode, message); } }