Recentemente, estou fazendo um aplicativo HTML5 móvel. lento.
Encontrei a estrutura de compactação LocalResizeimg por um longo tempo na Internet.
Etapa 1: Baixe o LocalResizeimgLocalResizeImg é colocado no GitHub, o endereço é: https://github.com/think2011/localresizeImg.
Etapa 2: Introduzir JS relacionado ao localResizeImg na engenharia da webDeclaze LocalResizeImg para comprimi -lo, copie a pasta distal no diretório para o projeto e eu o coloquei no diretório JS.
Em seguida, importe JQuery e LocalResizeimg JS em seu próprio JS. como:
<span style = white-ponto: pre> </span> <script src = <c: url valor =/js/jQuery/jQuery-1.10.0.min.js/>> </scan style = branco -space: Pré> </span> <script type = text/javascript src = <c: url value =/js/lrz/distal/lrz.bundle.js/>> </script>Etapa 3: Adicione o evento Onchange à caixa de arquivos da entrada do seu próprio upload.
<Tipo de entrada = ID do arquivo = Nome do arquivo Pay = MyFile Style = Display: Nenhum;
Implementar a compactação do código no método FileChange e a transmissão assíncrona da base64 gerada após comprimida no fundo
Função filechange (that) {var filepath = $ (que). if (.jpg | .png | .bmp | .jpeg.TOUPPERCASE (). } // Use a largura da imagem para ser 800 para compactar LRZ (that.Files [0], {Width: 800}). : <%= request.getContextPath ()%>/Common/FileUploadPiction, Tipo: Post, Dados: {imgdata: rst.base64 // Valor base compactado}, Datatype: JSON, Cache: Fals E, ASYNC: False, Sucesso: Function (data) {if (data.success) {alert (data.message); Mensagem é a causa da falha de upload}}, erro: function () {alert (Falha no upload);});});};} Etapa 4: Spring MVC Controller Receba valores de base em segundo plano e arquivos de análise e salvamento Importar sun.misc.base64decoder; Upload (FILHE FileUploadPiction)] [Params: imgdata = +imgdata +]); Salvar o arquivo raiz de engenharia atual ImageFile = novo arquivo (IMGPath); ) [1]); ;}} outputStream.Write (resultado); Resultado (False, Falha no upload de arquivo);} Catch (Exceção e) {Logler.error ([FileUpload)] [Erro: + e +]); (); outputStream.close ();}}Classe de resultado:
Importar Java.io.Serializable; .success = sucesso; SetMessage (string message) {this.message = message;} @Override public string tostring () {return resultado [sucesso = + sucessor +, message = + message +];}}O exposto acima é de todos os passos.