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

216
Visualizações
¿Cómo cargo una imagen de una URL (que tiene un origen diferente) en un objeto de archivo?

Al principio pensé que debería ser tan fácil como:

 const img = document.createElement('img'); img.onload = () => { ... } img.onerror = () => { ... } img.src = url;

Pero luego resultó que necesito dibujarlo en un lienzo, luego toBlob() . Y no olvide agregar CORS y crossorigin="anonymous" a la etiqueta img . ¿No es un poco demasiado complicado? ¿Hay una mejor manera?

Para mostrarle la solución final (necesita encabezados CORS):

 function getFileFromURL(url) { return new Promise((resolve, reject) => { const fileName = url.split('/').pop(); const img = document.createElement('img'); img.setAttribute('crossorigin', 'anonymous'); img.onload = () => { const canvas = document.createElement('canvas'); canvas.width = img.width; canvas.height = img.height; const ctx = canvas.getContext('2d'); ctx.drawImage(img, 0, 0); canvas.toBlob(blob => { resolve(new File([blob], fileName)); }); }; img.onerror = () => { reject('something went wrong'); }; img.src = url; }) }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Podría decirse que la solución sugerida por CBroe es mejor:

 function getFileFromURL(url) { const fileName = url.split('/').pop(); return fetch(url) .then(response => { return new File([response.data], fileName); }); }

Asegúrese de agregar encabezados CORS a las solicitudes.

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