Beispiel #1
0
        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);
            }
        }