• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

331
Views
El formato de archivo no es compatible, pero al decodificarlo con base64 funciona bien

Hola, tengo un problema al cargar la imagen en la nube ( Backblaze B2 ).

El problema es que cuando utilizo el cliente Thunder de ejemplo para cargar el archivo, todo funciona bien y se muestra el archivo.

Ahora mi problema es que cuando subo con JS no sé por qué está dañado o con errores. Como cuando subo una imagen y la descargo, el Administrador de archivos de Windows dice: file format not supported.

Decodifiqué el archivo con el decodificador base64 img y funciona bien y se muestra la imagen.

 const submitForm = () => { var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function(e) { // binary data let imagedata = reader.result.slice(reader.result.indexOf(',') + 1) console.log(imagedata); console.log(sha1(imagedata)); const proxyurl = "https://cors-anywhere.herokuapp.com/"; let datadf = fetch(proxyurl + 'url', { method: 'POST', headers: { "Accept": "*/*", "User-Agent": "Thunder Client (https://www.thunderclient.io)", "X-Bz-File-Name": file.name, "X-Bz-Content-Sha1": "do_not_verify", "Authorization": "auth", "Content-Type": "b2/x-auto", }, body: imagedata, }) .then((response) => { return response.json(); }) .catch((err) => { return { status: 'fail', message: 'API CALL ERROR', error: err.message }; }); datadf.then(res => console.log(res)) }; reader.onerror = function(e) { // error occurred console.log('Error : ' + e.type); };
almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

.readAsDataURL() convierte el archivo que lee en Base64, por lo que puede representarse como una URL que puede colocar en un navegador. Una URL muy larga, pero sigue siendo una URL.

Si almacena una representación Base 64 de una imagen en un archivo en su máquina, luego intenta leerla con un programa de visualización de imágenes, la operación fallará: "Esto no parece un archivo .jpg, .png o . gif" así que no sé qué hacer con él." Eso es lo que significa el mensaje de error del administrador de archivos de Windows.

Si desea que el contenido del archivo sea sin formato en lugar de codificado en Base64, deberá usar .readAsArrayBuffer() .

almost 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error