Closed malikov-pro closed 1 week ago
Не уверен что это проблема библиотеки. Вроде стандарт предписывает кодировать все не-ASCII символы с помощью процента (percent-encoding), но сейчас не готов утверждать это на 100%. Как и не готов утверждать, что кодирование пути - обязанность библиотеки. Она делает это с параметрами запроса (то что идет после ?), но не уверен что должна сама кодировать все остальное
Попробуйте ту часть, которая с кириллицей, самостоятельно закодировать в percent-encoding
Да, вы правы, помогло
Папка = "НоменклатураПрисоединенныеФайлы";
Папка = КодироватьСтроку(Папка, СпособКодированияСтроки.КодировкаURL);
КлючФайла = "/" + Папка + "/" + XMLСтрока(Выборка.Ссылка) + "." + Выборка.Расширение;
Но нужно экранировать только кириллицу, иначе так же в ошибку уходит. По сути в цикле перебирать посимвольно с проверкой <> a_z и A_Z. Может есть где готовое?
@malikov-pro Думаю для вашего случая достаточно будет использовать для кодирования пути (ключа объекта) СпособКодированияСтроки.URLВКодировкеURL
вместо СпособКодированияСтроки.КодировкаURL
:
КлючОбъекта = "НоменклатураПрисоединенныеФайлы/f29b5f73-0c08-4041-983f-4643b9100504.txt";
Адрес = "http://10.10.0.30:9000/" + КодироватьСтроку( КлючОбъекта , СпособКодированияСтроки.URLВКодировкеURL );
Входящие данные: Пишу клиент для S3, сервис minio
Для запроса PUT http://10.10.0.30:9000/НоменклатураПрисоединенныеФайлы/f29b5f73-0c08-4041-983f-4643b9100504.txt выдает ошибку "The request signature we calculated does not match the signature you provided. Check your key and signing method."
Для запроса PUT http://10.10.0.30:9000/kot23/NomenklaturaPrisoedinennyeFayly/f29b5f73-0c08-4041-983f-4643b9100504.txt запрос проходит без ошибок