initial commit
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net.Http;
|
||||
|
||||
namespace Crysome.Client.Web;
|
||||
|
||||
public class WebFileDownloader
|
||||
{
|
||||
private readonly HttpClient httpClient;
|
||||
|
||||
public WebFileDownloader()
|
||||
{
|
||||
httpClient = new HttpClient();
|
||||
}
|
||||
|
||||
public async void DownloadFile(string url)
|
||||
{
|
||||
HttpResponseMessage response = await httpClient.GetAsync(url);
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
return;
|
||||
}
|
||||
byte[] bytes = await response.Content.ReadAsByteArrayAsync();
|
||||
string[] array = url.Split('/');
|
||||
string text = array[array.Length - 1];
|
||||
_ = string.Empty;
|
||||
_ = string.Empty;
|
||||
string text2;
|
||||
if (text.Contains("."))
|
||||
{
|
||||
string[] array2 = text.Split('.');
|
||||
text2 = array2[0];
|
||||
if (array2[1].Contains("?"))
|
||||
{
|
||||
array2[1] = array2[1].Split('?')[0];
|
||||
}
|
||||
string text3 = array2[1];
|
||||
text2 = text2 + "." + text3;
|
||||
}
|
||||
else
|
||||
{
|
||||
text2 = text;
|
||||
}
|
||||
if (response.Content.Headers.ContentDisposition != null)
|
||||
{
|
||||
text2 = response.Content.Headers.ContentDisposition.FileName;
|
||||
}
|
||||
if (response.Content.Headers.ContentType != null)
|
||||
{
|
||||
MimeTypeMap.GetExtension(response.Content.Headers.ContentType.MediaType);
|
||||
}
|
||||
File.WriteAllBytes(Path.Combine(Environment.CurrentDirectory, text2), bytes);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user