Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

159
Vistas
Verifique el tipo Mime en jQuery antes de cargar el archivo después de cambiar la extensión

He estado tratando de implementar varias lógicas que se encuentran en Internet. Pero el problema es que si cambio la extensión de cualquier archivo, muestra Okay. Mi código es el siguiente:

 'use strict'; $("#myfiles").on('change',function(){ var files = $('#myfiles').get(0).files; if (files.length > 0) { var file = files[0]; var fileReader = new FileReader(); fileReader.onloadend = function (e) { var arr = (new Uint8Array(e.target.result)).subarray(0, 4); var header = ''; for (var i = 0; i < arr.length; i++) { header += arr[i].toString(16); } alert(header); var type = 'unknown'; switch (header) { case '89504e47': type = 'image/png'; break; case '47494638': type = 'image/gif'; break; case 'ffd8ffe0': case 'ffd8ffe1': case 'ffd8ffe2': type = 'image/jpeg'; break; case '25504446': type = 'application/pdf'; break; } //if(type=='image/jpeg') { alert('Its JPEG/JPG'); } else { alert('Its Not'); } //alert(type); if (type!=='image/png' && type!=='image/gif' && type!=='image/jpeg' && type!=='application/pdf' ) { alert("File Type Not Allowed"); } else { $('#myfile_mydrive').fileupload({ downloadTemplateId: 'template-download-gallery', uploadTemplateId: 'template-upload-gallery', paramName: 'files[]', url: 'mydrive-upload.php', dataType: 'json', autoUpload: true, maxNumberOfFiles: 10, acceptFileTypes: /(\.|\/)(pdf|doc|docx|xls|ppt|zip|gif|jpe?g|png)$/i }); } }; fileReader.readAsArrayBuffer(file); } });

Así que implementé el código anterior. Pero se muestra bien una o dos veces y luego carga el archivo incluso después de mostrar que el tipo de archivo no es compatible.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Atlast encontró el trabajo. Si alguien necesita mime check in blueimp jquery upload

 $('#myfile_mydrive').fileupload({ add: function(e, data) { var uploadErrors = []; var control = document.getElementById("myfiles"); control.addEventListener("change", function(event) { var files = event.target.files[0]; for (var i = 0; i < files.length; i++) { console.log("Filename: " + files[i].name); console.log("Type: " + files[i].type); console.log("Size: " + files[i].size + " bytes"); } }, false); var files = event.target.files[0]; var fileReader = new FileReader(); fileReader.onload = function(e) { var int32View = new Uint8Array(e.target.result); var arr = (new Uint8Array(e.target.result)).subarray(0, 4); var header = ""; for(var i = 0; i < arr.length; i++) { header += arr[i].toString(16); } if(header!=='89504e47' && header!=='47494638' && header!=='ffd8ffe0' && header!=='ffd8ffe1' && header!=='ffd8ffe2' && header!=='25504446') { // Check for jpg/jpeg/png/gif/pdf alert("File Type Mismatch"); return; } else { data.submit(); } }; fileReader.readAsArrayBuffer(files); }, downloadTemplateId: 'template-download-gallery', uploadTemplateId: 'template-upload-gallery', paramName: 'files[]', url: 'mydrive-upload.php', dataType: 'json', autoUpload: false, maxNumberOfFiles: 10, acceptFileTypes: /(\.|\/)(pdf|gif|jpe?g|png)$/i, });

La parte HTML de mi código

 <div id="myfile_mydrive" class="fileupload"> <div class="fileinput-button btn btn-success btn-sm"> <i class="fa fa-paperclip"></i> <span>Browser Files </span > <input type="file" id="myfiles" name="myfiles"> </div> <table role="presentation" class="table table-striped"> <tbody class="files"></tbody> </table> </div>

Como puede ver, el problema al que me enfrenté antes fue: -

  1. El cambio 'on' no activaba la función '.fileupload'.
  2. La verificación de 'mime' no funcionaba correctamente ya que los valores de los resultados de 'mime' no se borraban.

Por lo tanto, puede ver que la solución alternativa es la función 'agregar' en 'carga de archivo'

Espero haber aclarado cualquier duda sobre la solución.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda