Recientemente, estoy haciendo una aplicación móvil HTML5. lento.
Encontré el marco de compresión LocalResizeimg durante mucho tiempo en Internet.
Paso 1: Descargar localResizeImgLocalResizeImg se coloca en GitHub, la dirección es: https://github.com/think2011/localresizeimg.
Paso 2: Introducir JS relacionados con LocalResizeImg en ingeniería webDeclaze LocalResizeimg para comprimirlo, copiar la carpeta distal en el directorio al proyecto y lo puse en el directorio JS.
Luego importe jQuery y localreseimg js en su propio js. como:
<span style = White-Point: pre> </span> <script src = <c: url value =/js/jQuery/jQuery-1.10.0.min.js/>> </scan style = white -space: Pre> </span> <script type = text/javaScript src = <c: url value =/js/lrz/distal/lrz.bundle.js/>> </script>Paso 3: Agregue el evento Onchange al cuadro de archivo de la entrada de su propia carga.
<Input type = archivo id = payfile name = myfile style = display: none;
Implementar la compresión del código en el método Filechange y la transmisión asincrónica de la base64 generada después de comprimirse al fondo
Function filechange (que) {var filePath = $ (que). if (.jpg | .png | .bmp | .jpeg.touppercase (). indexOf (ext.touppercase ()) ==-1) {alerta (solo permitido jpg, png, bmp, jpeg en formato); } // Use el ancho de la imagen para ser 800 para comprimir lrz (que.files [0], {ancho: 800}) .ThEntion (function (rst) {// cargar $ .AJAX asíncrono después de la compresión $ .AJAX : <%= request.getContextPath ()%>/común/fileuploadpiction, type: post, data: {imgData: rst.base64 // valor base comprimido}, dataType: json, caché: fals e, async: falso, éxito: Function (data) {if (data.success) {alert (data.message); El mensaje es la causa de la falla de carga}}, error: function () {alerta (carga fallida);});});};} Paso 4: el controlador Spring MVC recibe valores base en segundo plano y archivos de análisis y guardado Import sun.misc.base64decoder; cargando (la carga de la carga del archivo)] [params: imgData = +imgData +]); Guardar el archivo de directorio root actual ImageFile = nuevo archivo (imgpath); ) [1]); // decodificación para (int i = 0; i <result.length; ++ i) {if (resultado [i] <0) {// Ajuste el resultado de datos anormales [i] += 256 ;}} outputStream.Write (resultado); Resultado (falso, fallado de carga de archivo);} Catch (Exception e) {logler.error ([fileUpload)] [Error: + e +]); ();Clase de resultados:
Importar java.io.serializable; .Success = Succes; SetMessage (mensaje de cadena) {this.message = mensaje;} @Override public String toString () {return resultado [éxito = + éxito +, mensaje = + mensaje +];}}Lo anterior son todos los pasos.