Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

187
Visualizações
Error "Tipo de codificación de contenido no reconocido" al cargar una imagen

Estoy tratando de obtener imágenes que he subido a mi CDN. canvas.toDataURL para convertir mis imágenes a PNG antes de cargarlas.

Recibo el siguiente error cuando intento obtener las imágenes: Error: cURL error 61: Unrecognized content encoding type. libcurl understands deflate, gzip, br content encodings

Entonces, primero creé esta imagen usando FabricJS: luego la estoy exportando como PNG usando:

 const dataURL = canvas.toDataURL({ width: canvas.width, height: canvas.height, left: 0, top: 0, format: 'png' })

Luego lo estoy subiendo a mi S3 CDN usando:

 async function uploadPNG(dataURL, filePath) { const buf = Buffer.from(dataURL.replace(/^data:image\/\w+;base64,/, ""),'base64') const uploadParams = { Bucket: bucketName, ContentType: 'image/png', ContentEncoding: 'base64', Body: buf, Key: filePath } return await s3.upload(uploadParams).promise() }

Luego, estoy tratando de cargar esa imagen (que ahora está en S3 CDN) en un sitio de WooCommerce usando su API. https://s3.eu-central-1.amazonaws.com/cdn.blankt.com/product/s/AY6AJSHMXnf2ReCZOu.png

Aquí hay parte de esa solicitud de API:

 { "name": "AY6AJSHMXnf2ReCZOu", "type": "variable", "regular_price": "9.90", "sku": "AY6AJSHMXnf2ReCZOu", ... ], "images": [ { "src": "https://s3.eu-central-1.amazonaws.com/cdn.blankt.com/product/s/AY6AJSHMXnf2ReCZOu.png" } ], "attributes" : [ { "name" : "Size", "variation" : true, "visible" : true, "options" : [ "A3", "A4", "A5" ] } ] }

Y esta es la respuesta que recibo: ingrese la descripción de la imagen aquí

Este problema parece aparecer solo cuando trato de cargar la imagen usando la API, si descargo y cargo la imagen manualmente en WooCommerce, no hay problemas.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Parecería que está proporcionando la codificación de contenido no válido en su carga s3, donde proporciona el parámetro ContentEncoding: 'base64' .

La documentación del SDK de s3 para el método de upload no está clara en cuanto a los detalles del manejo del parámetro ContentEncoding :

ContentEncoding: (cadena) especifica qué codificaciones de contenido se han aplicado al objeto y, por lo tanto, qué mecanismos de decodificación se deben aplicar para obtener el tipo de medio al que hace referencia el campo de encabezado Content-Type.

Pero mi sospecha es que simplemente se transmite como el encabezado HTTP Content-Encoding ( MDN ) cuando se accede al objeto. En cuyo caso, la imagen se carga bien en su navegador porque es lo suficientemente inteligente (o quizás tonto) como para descartar la codificación que no reconoce, sin embargo, el backend de WooCommerce no hace eso y, en cambio, produce un error.

Solución : elimine ContentEncoding de sus parámetros de carga de s3; en primer lugar, no está cargando contenido codificado, ya que decodifica los datos base64 en bytes sin procesar cuando los pasa a Buffer.from con el parámetro de codificación 'base64' (consulte Buffer.from(string[, encoding]) y codificaciones de caracteres en documentos de Node.JS)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda