Проблема извлечения URI данных IMG из ответа XHR - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь извлечь некоторые изображения (webp) из ответа XHR.

С помощью инструментов разработчика Chrome на вкладке Network / XHR я могу сохранить все ответы XHR и в разделе Network / ImgНа вкладке я вижу почти все изображения webp, за исключением изображений размером более 767 КБ

. Таким образом, чтобы сохранить изображение размером более 767 КБ, мне необходимо декодировать XHR-ответ (который полностью присутствует в кеше Chrome).

Полагаю, что у разработчика Chrome есть ограничение на отображение / преобразование содержимого XHR.

В любом случае, моя проблема в том, что я не знаю, как извлечь данные img изответ XHR.Я попробовал несколько методов (gunzip, decode и т. Д.), Но я не могу определить тип двоичного файла ответа XHR, но наверняка chrome может каким-то образом декодировать его (для размера <768 КБ). </p>

содержимое URI img> 767KB: «null»

Это первые две строки XHR-ответа img1:

0000000: 6771 7120 23c3 a436 6533 7c27 6862 605e  gqq #..6e3|'hb`^
0000010: 4235 c2b7 3230 c380 4122 c2a5 3412 c3b8  B5..20..A"..4...

здесь соответствующий URI данных img1 первые двастроки:

0000000: 6461 7461 3a69 6d61 6765 2f6a 7065 673b  data:image/jpeg;
0000010: 6261 7365 3634 2c55 6b6c 4752 6843 4141  base64,UklGRhCAA

здесь первые две строки XHR-ответа img2:

0000000: 6771 7120 4957 3465 337c 2768 6260 5e42  gqq IW4e3|'hb`^B
0000010: 5f04 3030 c380 2435 c2a5 3412 c3b8 6ec2  _.00..$5..4...n.

здесь соответствующие URI данных img2 первых двух строк:

0000000: 6461 7461 3a69 6d61 6765 2f6a 7065 673b  data:image/jpeg;
0000010: 6261 7365 3634 2c55 6b6c 4752 6e6f 7a41  base64,UklGRnozA

Не смущайте заголовок image / jpeg URI данных, если вы вставляете полные данные в Chrome, визуализированное изображение сохраняется как webp.

Так что если у вас есть какие-либо подсказки о том, как Chrome преобразуетОтвет XHR в URI данных img (я полагаю, это какая-то декомпрессия). Я буду рад.

Я предоставлю любую дополнительную информацию, которая вам потребуется, но помните, что я не являюсь владельцем сервера, поэтомуЯ могу работать только на стороне клиента.

Имейте в виду, что я не разработчик, я просто ИТ-энтузиаст, поэтому мне не хватит продвинутых навыков.

Заранее всем спасибо

...