Сжатие / Распаковка Папок и Файлов

Попробуйте поместить document.getElementById в setTimeout()

Например.

setTimeout(function(){
    console.log(document.getElementById('whatever'));
}, 100);

Если это сработает, тогда это просто проблема синхронизации.

50
задан 17 revs, 12 users 35% 25 December 2018 в 04:13
поделиться

5 ответов

Пространство имен System.IO.Compression.Net 2.0 платформы поддерживает GZip, и Выкачайте алгоритмы. Вот два метода, которые сжимают и распаковывают поток байтов, который можно получить от объекта файла. Вы можете subsitute GZipStream для DefaultStream в методах ниже для использования того алгоритма. Это все еще оставляет проблему обработки файлов сжатой с различными алгоритмами все же.

public static byte[] Compress(byte[] data)
{
    MemoryStream output = new MemoryStream();

    GZipStream gzip = new GZipStream(output, CompressionMode.Compress, true);
    gzip.Write(data, 0, data.Length);
    gzip.Close();

    return output.ToArray();
}

public static byte[] Decompress(byte[] data)
{
    MemoryStream input = new MemoryStream();
    input.Write(data, 0, data.Length);
    input.Position = 0;

    GZipStream gzip = new GZipStream(input, CompressionMode.Decompress, true);

    MemoryStream output = new MemoryStream();

    byte[] buff = new byte[64];
    int read = -1;

    read = gzip.Read(buff, 0, buff.Length);

    while (read > 0)
    {
        output.Write(buff, 0, read);
        read = gzip.Read(buff, 0, buff.Length);
    }

    gzip.Close();

    return output.ToArray();
}
27
ответ дан mattytommo 7 November 2019 в 10:55
поделиться

Я всегда пользовался Библиотекой SharpZip.

Вот ссылка

21
ответ дан Konrad Viltersten 7 November 2019 в 10:55
поделиться

С.Net 1.1 единственный доступный метод достигает библиотек Java.
Используя Классы Zip в Библиотеках классов J# для Сжатия Файлов и Данных с C#
, Не уверенным, если это изменилось в последних версиях.

10
ответ дан alumb 7 November 2019 в 10:55
поделиться

Можно пользоваться сторонняя библиотека, такая как SharpZip, как указал Tom.

Иначе (не идя сторонний) должен использовать Windows Shell API. Необходимо будет установить ссылку на библиотеку COM Microsoft Shell Controls и Автоматизации в проекте C#. У Gerald Gibson есть пример в:

интернет-копия Архива мертвой страницы

9
ответ дан kekec 7 November 2019 в 10:55
поделиться

Это очень легко сделать в Java, и как указано выше можно достигнуть библиотек java.util.zip от C#. Поскольку ссылки видят:

пример кода

java.util.zip javadocs
я использовал это только что, чтобы сделать глубокую (рекурсивную) zip структуры папок, но я не думаю, что когда-либо использовал разархивацию. Если я так мотивирован, я могу вытащить тот код и отредактировать его в здесь позже.

5
ответ дан shsteimer 7 November 2019 в 10:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: