Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

224
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!