Js-core: O sinal de mais na chave S3 causa 404

Criado em 16 dez. 2019  ·  3Comentários  ·  Fonte: imgix/js-core

Tentar buscar uma imagem para um objeto em S3 com '+' em sua chave causa 404.

Exemplo:

GET https://<cname>.imgix.net/E+P-003_D.jpeg // -> 404
GET https://<cname>.imgix.net/E%2BP-003_D.jpeg // -> 200

Eu suspeito que seja devido a encodeURI em https://github.com/imgix/imgix-core-js/blob/master/src/imgix-core-js.js#L106. Como a chave S3 é um caminho, o módulo usa encodeURI , que aceita '+' símbolos e não os codifica. S3, no entanto, os interpreta como espaços.

Comentários muito úteis

Olá @sherwinski ,

Obrigada! Essa também é a solução rápida, pensei ontem :)

Deixe-me saber, se eu puder ajudar em alguma coisa para encontrar uma solução mais elegante.

Todos 3 comentários

Ei @rschweizer ,
Obrigado por trazer isso à tona. Infelizmente não há uma solução direta para isso, pois codificar + corre o risco de interromper configurações que não usam fontes S3. Por enquanto, a solução mais rápida seria codificar separadamente + após gerar o URL:

client.buildURL(path, params).replace(/\+/g, '%2B')

Sei que não é uma resposta satisfatória, mas sei que estamos investigando uma solução melhor para isso. Sinta-se à vontade para comentar se tiver outras perguntas. Obrigado

Olá @sherwinski ,

Obrigada! Essa também é a solução rápida, pensei ontem :)

Deixe-me saber, se eu puder ajudar em alguma coisa para encontrar uma solução mais elegante.

@rschweizer hey: wave: obrigado por abrir esta edição e trazer isso à nossa atenção. Estou feliz que você e @sherwinski tenham encontrado uma solução semelhante :)

Avançando, já estamos pensando mais sobre como / quando a codificação deve / não deve ocorrer, bem como lidar com casos extremos. Eu criei um documento interno rastreando este problema e já estamos trabalhando em um more elegant solution .

Vou encerrar isso agora, mas _por favor_ sinta-se à vontade para comentar / puxar / abrir um problema novamente se tiver alguma dúvida, comentário ou preocupação.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

hennessyevan picture hennessyevan  ·  6Comentários

danieljack picture danieljack  ·  3Comentários

akshaysrin picture akshaysrin  ·  3Comentários

fuzihaofzh picture fuzihaofzh  ·  3Comentários

konijn picture konijn  ·  3Comentários