HttpWebRequest & Native GZip Compression

@ j.xiang,

Я настоятельно рекомендую вам прочитать: Документы MDN относительно позиционирования. Чтобы ответить на ваш вопрос о том, почему ваш код не работает и почему:

Абсолютно позиционированный элемент больше не существует в обычном потоке макета документа. Вместо этого он находится на своем собственном слое отдельно от всего остального. Это очень полезно: это означает, что мы можем создавать отдельные функции пользовательского интерфейса, которые не влияют на положение других элементов на странице. Например, всплывающие информационные окна и управляющие меню; опрокидывающиеся панели; Функции пользовательского интерфейса, которые можно перетаскивать в любое место на странице; и так далее ...

Во-вторых, обратите внимание, что положение элемента изменилось - это потому, что верхнее, нижнее, левое и правое ведут себя по-разному с абсолютным позиционированием. Вместо указания направления, в котором должен перемещаться элемент, они указывают расстояние, на которое должен быть элемент, от сторон каждого содержащего элемента. Таким образом, в этом случае мы говорим, что абсолютно позиционированный элемент должен располагаться в 30 пикселях от вершины «содержащего элемента» и в 30 пикселях слева.

blockquote>

Теперь вы, возможно, уже были знакомы с приведенным выше утверждением, которое подводит нас к причине и контексту позиционирования.

Если ни один из элементов-предков не имеет явно определенного свойства положения, то по умолчанию все элементы-предки будут иметь статическую позицию. В результате абсолютно позиционированный элемент будет содержаться в начальном содержащем блоке. Начальный содержащий блок имеет размеры области просмотра, а также является блоком, который содержит элемент. Проще говоря, абсолютно позиционированный элемент будет содержаться вне элемента и позиционируется относительно исходного окна просмотра.

Позиционированный элемент вложен в источник HTML, но в окончательном макете он находится на расстоянии 30 пикселей от верхнего и левого края края страницы. Мы можем изменить контекст позиционирования - к какому элементу позиционируется абсолютно позиционированный элемент. Это делается путем установки позиционирования на одном из предков элемента - на один из элементов, внутри которого он вложен (вы не можете расположить его относительно элемента, внутри которого он не вложен). Чтобы продемонстрировать это, добавьте следующую декларацию в ваше правило тела:

blockquote>
   position: relative;

Поэтому добавление position: relative; в ваш класс .act должно решить вашу конкретную проблему.

Надеюсь, это поможет, снова начните читать на сайте MDN , это бесценный ресурс.

59
задан Pat 11 May 2009 в 20:41
поделиться

4 ответа

Собственный GZipStream может читать сжатый поток GZIP ( RFC 1952 ), но не может обрабатывать формат файла ZIP.

From http://www.geekpedia.com/tutorial190_Zipping-files-using-GZipStream.html :

Недостаток использования GZipStream класс над третьей стороной продукт в том, что он ограничен возможностей. Одно из ограничений является то, что вы не можете дать имя файл, который вы помещаете в архив. Когда GZipStream сжимает файл в ZIP-архив, он принимает последовательность байтов из этого файла и использует алгоритмы сжатия, которые создать меньшую последовательность байтов. Новая последовательность байтов помещена в новый ZIP файл. Когда вы открываете ZIP-файл вы откроете в архиве сам файл; самый популярный ZIP экстракторы (WinZip, WinRar и др.) будут показать содержимое ZIP как файл с таким же архивом сам.


РЕДАКТИРОВАТЬ: вышеупомянутая нота неверна . GZipStream не создает ZIP-файл. Это не «поток одного файла ZIP». Это GZIP Stream. Это разные вещи. Нет гарантии, что инструменты, которые обрабатывают ZIP-архивы, будут обрабатывать файл .gz.


Для реализации, которая может читать ZIP-архивы, в отличие от однофайловых ZIP-потоков, попробуйте #ziplib (SharpZipLib, ранее NZipLib) .

-2
ответ дан 24 November 2019 в 18:13
поделиться

Вы промываете и закрываете поток? Попробуйте обернуть GZipStream оператором Using.

2
ответ дан 24 November 2019 в 18:13
поделиться

См. Мой комментарий выше, но обычно это признак поврежденного файла. Если сайт ваш собственный, замените файл, к которому вы пытаетесь получить доступ.

1
ответ дан 24 November 2019 в 18:13
поделиться

Я нашел образец кода, который показывает полный запрос / ответ для страниц, закодированных с помощью GZip. Он использует GZipStream.

http://www.know24.net/blog/Decompress+GZip+Deflate+HTTP+Responses.aspx

2
ответ дан 24 November 2019 в 18:13
поделиться
Другие вопросы по тегам:

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