Estoy usando JQuery file upload demo para mi próximo proyecto con Codeigniter. ¿Alguien puede decirme cómo puedo lograr lo siguiente :

  • La restricción de carga de tipos de archivo .zip y .rar
  • La restricción de tamaño de archivo
  • Borrar la lista de archivos Subidos (JQuery file upload plugin muestra la lista de archivos subidos)

Ayuda apreciada !!

  • Asegúrese de hacer todas estas restricciones/validaciones en el lado del servidor.
InformationsquelleAutor Faisal Memon | 2012-09-06

5 Comentarios

  1. 67

    usted probablemente tiene una gran cantidad de soluciones en la actualidad, sin embargo, yo quería usar el BASIC plugin para jquery uploader, es decir, sin ningún otro tipo de secuencias de comandos.. por alguna razón el maxFileSize/tipos de archivo opciones no eran de trabajo, sin embargo, que es en su mayoría sin duda para mi la falta de lectura de la documentación!

    De todos modos, para mí, no es tan rápida como la siguiente:

        add: function (e, data) {
            var goUpload = true;
            var uploadFile = data.files[0];
            if (!(/\.(gif|jpg|jpeg|tiff|png)$/i).test(uploadFile.name)) {
                common.notifyError('You must select an image file only');
                goUpload = false;
            }
            if (uploadFile.size > 2000000) { //2mb
                common.notifyError('Please upload a smaller image, max size is 2 MB');
                goUpload = false;
            }
            if (goUpload == true) {
                data.submit();
            }
        },

    Tan sólo utilizando la opción AGREGAR para permitir sólo los tipos de imágenes en la expresión regular, y la comprobación (en mi caso) el tamaño de archivo es de un máximo de 2mb.

    Bastante básico, y de nuevo estoy seguro de que el maxFileSize opciones de trabajo, sólo estoy sólo, incluyendo la básica plugin de secuencia de comandos jquery.fileupload.js

    EDITAR
    Yo debería haber añadido en mi caso yo soy de subir un solo archivo (una imagen de perfil) así que ahí los datos.archivos[0].. puede recorrer en iteración la colección de archivos de curso.

    • Por fin! He estado buscando mucho para un ejemplo en el que trabajó. Thx 🙂
    • ¿Cómo data.submit() trabajo para múltiples archivos?
    • add se ejecuta por archivo. Por lo tanto data.submit es sólo en referencia a un archivo.
    • No sería más feliz si no tengo esto..:)
    • Véase también esta respuesta
    • muy útil .. thz
    • Genial, acabo de añadir alert(«debe seleccionar un archivo de imagen sólo») antes de común.notifyError(‘debe seleccionar un archivo de imagen sólo’) para notificar al usuario

  2. 7

    En jquery.fileupload-ui.js editar esta parte:

       $.widget('blueimp.fileupload', $.blueimp.fileupload, {
    
        options: {
            //The maximum allowed file size:
            maxFileSize: 100000000,
            //The minimum allowed file size:
            minFileSize: undefined,
            //The regular expression for allowed file types, matches
            //against either file type or file name:
            acceptFileTypes:  /(zip)|(rar)$/i,
            ----------------------------------------------------------------

    Para borrar la lista de archivos subidos – Quitar el $.getJSON llamada de main.js si usted no necesita la funcionalidad.

  3. 3

    De acuerdo a la documentación oficial;

    $('#file_upload').fileUploadUIX({
        maxFileSize: 5000000, //Maximum File Size in Bytes - 5 MB
        minFileSize: 100000, //Minimum File Size in Bytes - 100 KB
        acceptFileTypes: /(zip)|(rar)$/i  //Allowed File Types
    });
  4. 2

    Otra manera de hacerlo es la siguiente.

     $('#upload').fileupload({ 
           change: function (e, data) { 
                    if (!(/\.(jpg|jpeg|png|pdf)$/i).test(data.files[0].name)) {
                        alert('Not Allowed');
                        return false;
                    }
            } 
     });
  5. -2

    trate de buscar en esta línea :

     process: [
                /*
                    {
                        action: 'load',
                        fileTypes: /^image\/(gif|jpeg|png)$/,
                        maxFileSize: 20000000 //20MB
                    },
                    {
                        action: 'resize',
                        maxWidth: 1920,
                        maxHeight: 1200,
                        minWidth: 800,
                        minHeight: 600
                    },

    en jquery.fileupload-fp.js

Dejar respuesta

Please enter your comment!
Please enter your name here