FileUpload es un componente de carga de archivos grande escrito en JavaScript puro en el extranjero. Este componente admite funciones como la carga de fragmentos, la continuación de punto de interrupción y los archivos múltiples.
Aquí hay una forma de usar la plantilla personalizada de componente de carga FileUpload (FineUploaderBasic):
El siguiente es el código de configuración:
Configuración frontal:
< id = "pauseupload"> suspender la carga </div> <div id = "continúagupload"> continuar cargando </div> <script> $ (documento) .Ready (function () {$ fub = $ ('#básico_uploader_fine'); $ mensajes = $ ('#mensajes'); var uploader = new Qq.fineupploaderBasic (DETERGUG: {—//////////girando verdad Modo múltiplo: true, // botón de carga de múltiples archivos: $ fub [0], // El botón de carga automáticamente automáticamente: falso, // Si no se carga automáticamente, llame al método de SubloadStoredFiless para cargar manualmente // verificar la validación de archivo de carga: {permitido textensions: ['jpeg', 'jpg', 'png', 'zip', 'rar',},},},},},},},},},}. (relative or absolute address) request: { endpoint: 'server/endpoint.php' }, retry: { enableAuto: false // defaults to false Automatically retry}, chunking: { enabled: true, partSize: 500, // Group size, default is 2M concurrent: { enabled: true // Concurrent group upload, default 3 concurrent}, success: { endpoint: "Server/Endpoint.php? Done" // La carga de grupo se completa después de procesar}}, // Callback Function Callbacks: {// Archivo inicia la carga de la carga: function (id, nombre de archivo) {$ Messages.append ('<div id = "archivo-' + id + '" estilo = "margen: 20px 0">' + filename + '</div>'); nombre de archivo) {$ (''#file- ' + id) .AddClass (' alerta-Info ') .html (' <img src = "cliente /carging.gif"> ' +' inicializando ' +' ");}, // progress bar en la función (id, archivo filen, cargado, cargado, {if (cargado <total) ' + Math.round (Total/1024) +' Kb '; Archivo ... ' + progreso); }, // después de la carga se completa onComplete: function (id, nombre de archivo, respuestajson) {if (respuestajson.success) {var img = respuestajson ['target'] $ ('#file-' + id) .RemoVeclass ('alertainfo'. + '"' + nombre de archivo + '"'); MayBExHRORXDR) {console.log (id + '_' + name + '_' + razon); {ifoader.cancel (0);}); portainter.PauseUpload (0);Código PHP:
//Handler.php El sitio web oficial del archivo requiere_once "handler.php"; $ uploader = new uploadHandler (); // Límite de tipo de archivo $ uploader-> permitidoxtensions = array (); // Límite de tamaño de archivo $ uploader-> sizeLimit = null; // box de archivo de carga $ uploader-> inputName = "Qqfile"; // Defina la ubicación de almacenamiento de archivos agrupados $ uploader-> chunksfolder = "fragmentos"; $ método = $ _server ["request_method"]; // cargar el pliegue objetivo (porque la regla de almacenamiento de archivos original no me encontró con las necesidades de almacenamiento de archivo original, me modificó las necesidades de la parte del archivo original. Código Handler.php y agregó una regla de generación de carpetas [también puede personalizarlo]) $ uploadDirectory = $ uploader-> getPathName ('member_avatar'); if ($ método == "post") {header ("content-type: text/sencillo"); // fusionar el grupo después de que se completa la carga del grupo si (ISSET ($ _ get ["hecho"])) {$ result = $ uploader-> combineechunks ($ uploadDirectory); // fusionar archivos agrupados} else {// iniciar el archivo de carga $ result = $ uploader-> handleUpload ($ uploadDirectory); // Obtenga el nombre cargado $ resultado ["uploadName"] = $ uploader-> getuploadname (); } echo JSON_ENCODE ($ resultado);} // Eliminar procesamiento de archivos más if ($ método == "delete") {$ resultado = $ uploader-> HandledElete ($ uploadDirectory); echo json_encode ($ resultado);} else {encabezado ("http/1.0 405 método no permitido");}Lo anterior es una configuración de plantilla personalizada simple, espero que sea útil para el aprendizaje de todos.