Получим tar архив по api стороннего сайта и распакуем на своем сервере (.net, c#)

Итак задача такая: используя api стороннего сайта узнать url, по которому можно скачать tar архив, затем собственно скачать его и распаковать. Для реализации данной задачи будем использовать System.Net.WebClient, HtmlParser и библиотеку ICSharpCode.SharpZipLib.

  1. Получим данные по api
    HtmlParser hp = new HtmlParser
    {
        BaseUrl = "http://site.com/"
    };
    ImagesData data = hp.GetJsonData<ImagesData>("api/GetCurrentImages/hash/af86edfdc477db2ac3475be414e3edba");
    

    где Images:

    public class ImagesData
    {
        public List<Image> Images { get; set; }
        public string ArchiveUrl { get; set; }
    }
    
  2. Скачаем архив
    string dstTarFile = "d:/Temp/Images.tar");
    using (WebClient wc = new WebClient())
    {
        wc.DownloadFile(data.url, dstTarFile);
    }
    
  3. Распакуем архив
    string dstDirectory = "d:/Temp/Images";
    using (var tarFile = File.OpenRead(dstTarFile))
    {
        using (TarArchive tarArchive = TarArchive.CreateInputTarArchive(tarFile))
        {
            tarArchive.ExtractContents(dstDirectory);
        }
    }
    
По теме:
Выполняем get запрос по расписанию c#

Напишем простенькую программу, которая будет выполнять get запрос по истечению определенного интервала времени. class Program { private static Timer _timer; Read more

Выполняем действие по расписанию (asp.net, c#)

Раньше я писал программку, которая выполняла get запрос по расписанию, но так же можно написать обычный HttpModule, который будет делать Read more

Выбираем технологии и инструменты для разработки веб приложений

1 Выбор и настройка инструментов для разработки фронтенда (только самые важные): 1.1 Twitter bootstrap — фреймворк позволяет писать качественную верстку Read more

Делаем водяной знак на картинке (c#, .net)

Нанесем несколько раз картинку watermark на другую картинку. public void DrawWatermark(string watermarkImagePath, System.Drawing.Image image) { using (System.Drawing.Image watermarkImage = System.Drawing.Image.FromFile(watermarkImagePath)) Read more

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *