SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003916SAS.Планета[All Projects] Багpublic27-06-2025 08:4127-06-2025 12:17
ReporterVadimK 
Assigned Tozed 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionno change required 
PlatformWindowsOS7OS VersionProfessional
Product Version250505 
Target VersionFixed in Version 
Summary0003916: Не сохраняется тайл, если поле content-type в "HTTP response header" содержит ";charset=UTF-8"
DescriptionПри скачивании тайла (посредством передачи ссылки на тайл переменной ResultURL в скрипте) если в заголовке ответа на HTTP-запрос в поле content-type присутствует дополнительно строка ";charset=UTF-8" (например: "content-type: image/png;charset=UTF-8"), то такой тайл не сохраняется на диск.
Прописывание в param.txt реального значения (ContentType=image/png;charset=UTF-8) не помогает.

Но по содержимому переменной ResponseHead видно, что тайл всё же скачивется, но на диск не сохраняется.

Такое впечатление, что программа не распознаёт ContentType должным образом.

Скачивание через Downloader.DoHttpRequest работает без проблем.

Временное решение проблемы: в param.txt:
* убрать ContentType,
* добавить его игнорирование (IgnoreContentType=1),
* добавить ContentType по-умолчанию (DefaultContentType=image/png).
Steps To Reproduceв теме на форуме: https://www.sasgis.org/forum/viewtopic.php?f=47&t=3719
TagsPascalScript, utf-8
Attached Files

- Relationships
related to 0000437closedvdemidov Добавить поддержку ContentType=image/png8bit и image/png8tr 

-  Notes
(0020549)
zed (manager)
27-06-2025 09:34

Во-первых, это не имеет никакого отношения к PascalScript.

Во-вторых, есть жёстко заданный список Content-Type которые SAS понимает и знает что с ними делать: https://sasgis.github.io/zmp-params-txt.html

Для всех остальных типов, можно либо поступить как вы сделали, либо использовать MimeTypeSubst для указания, что на что надо заменить. Для вашего случая можно было бы прописать так:

ContentType=image/png;charset=UTF-8
MimeTypeSubst="""image/png;charset=UTF-8""=image/png"
(0020550)
VadimK (reporter)
27-06-2025 10:40

Спасибо! Ваш пример прекрасно работает.

Кстати, такую замену можно было бы на странице параметров params.txt как хороший пример для подстановки MimeTypeSubst разместить, потому как мало кто догадается, как правильно кавычки внутри кавычек экранировать.

И для MimeTypeSubst указать, что в левой части выражения должен быть ожидаемый ContentType, а в правой - поддерживаемый программой ContentType (из таблицы). Такое описание лично мне было бы понятней того, что там сейчас. :)


ЗЫ: Кстати, проверил третий вариант: с использованием DetectContentType=1 - тоже рабочий!
(0020552)
zed (manager)
27-06-2025 12:15

Да, в доки надо будет добавить пример.

- Users who viewed this issue
User List Anonymous (55x), caddis (1x), ingener (1x), VadimK (9x), zed (10x)
Total Views 76
Last View 01-07-2025 10:57

- Issue History
Date Modified Username Field Change
27-06-2025 08:41 VadimK New Issue
27-06-2025 08:50 VadimK Tag Attached: PascalScript
27-06-2025 08:51 VadimK Tag Attached: utf-8
27-06-2025 09:27 zed Summary [PascalScript] не сохраняется тайл, если поле content-type в "HTTP response header" содержит ";charset=UTF-8" => Не сохраняется тайл, если поле content-type в "HTTP response header" содержит ";charset=UTF-8"
27-06-2025 09:34 zed Note Added: 0020549
27-06-2025 09:39 zed Relationship added related to 0000437
27-06-2025 10:40 VadimK Note Added: 0020550
27-06-2025 12:15 zed Note Added: 0020552
27-06-2025 12:17 zed Status new => closed
27-06-2025 12:17 zed Assigned To => zed
27-06-2025 12:17 zed Resolution open => no change required



Copyright © 2007 - 2025 SAS.Planet Team