Edite a página upload.html do arquivo de upload
NOTA: O GET não pode ser usado ao fazer o upload da postagem (Get não pode fazer upload de arquivos)
A propriedade do formulário Enctype deve ser definida como multipart/formulário. (Indica que os dados enviados são um arquivo binário)
upload.html
<! Doctype html> <html> <head> <meta charset = "utf-8"> <title> upload de arquivo </ititle> </ad head> <body> <formulário action = "uploadphoToServlet" method = "post" typtype = "multipart/form-data"> name <nput Type = "text =" " type = "file" name = "filepath"/> <br> <input type = "submit" value = "upload"> </form> </body> </html>
UploadtotoToServlet O upload classe-Desenvolvimento da função de upload
Coloque os dois pacotes Jar Commons-1.4.Jar e Commons-FileUpload-1.2.2.jar no diretório Web-Inf/Lib.
importar java.io.file; importar java.io.fileOutputStream; importar java.io.ioException; importar java.io.inputStream; importar java.io.printWriter; importinLevLevL.util.iterator; importação java.util.list; import javax.seVlet.ServLetexception; javax.servlet.http.httpServlet; importar javax.servlet.http.httpServletRequest; importar javax.servlet.http.httpServletResponse; importação org.apache.commons.fileUpload.fileItem; org.apache.commons.fileupload.fileuploadexception; importar org.apache.commons.fileupload.disk.diskfileitemfactory; importar org.apache.commons.fileupload.servlet.ServletFileUplOad;/** ** servleting */@WebServlet ("/UPLOPPHOTOSERVlet") Classe pública UPLOPPHOTOSERVlet estende HttpServlet {private estático final serialversionUid long) = 1L; / ** * @see httpServlet#httpServlet () */ public uploadphoToServlet () {super (); // TODO Construtor de auto-generado stub}/** * @see httpServlet#Doget (solicitação httpServletRequest, httpServletResponse Response) */Protected Doget (httpServErquest Solicy, httpsletResponse Response) throwsceptionception (iexteception (iextectException (htttpSerquest Solicy, httpsletResponse Response) sertleTexception (iexteception (iextectcensception (htttpSerwest Solicition, httpsletResponse) Response.getWriter (). Append ("Servido em:") .Append (request.getContextPath ()); String filename = null; DiskFileItemFactory Factory = new DiskFileItemFactory (); // Entrada de arquivo de disco Factory ServletFileUpload upload = new ServletFileUpload (Factory); // Responsável pelo processamento de dados de arquivo carregado e encapsulando cada item de entrada no formulário em um objeto FileItem // Defina o tamanho do arquivo carregado como 10m Factory.SetSizETHreshold (2*1024*1024); Listar itens = nulo; tente {// analisar itens = upload.parserequest (solicitação); // Obtenha um objeto de lista que salva todo o conteúdo carregado} Catch (FileUploadexception e) {// TODO BLOCO DE CAPAGEM AUTOGERATION E.PrintStackTrace (); } Iterator iter = items.iterator (); // iterar sobre os dados do arquivo carregado enquanto (iter.hasnext ()) {fileItem item = (fileItem) iter.next (); if (! item.isformfield ()) {// se não for carregado // crie o arquivo avatar com base no timestamp filename = System.currenttimemillis ()+". jpg"; // Obtenha a pasta de upload através do getRealPath. Se o projeto existir, ele não existirá no projeto atual, crie a pasta do projeto // Pasta String Photofolder = request.getServletContext (). GetRealPath ("Upload"); Arquivo f = novo arquivo (fotofolder, nome do arquivo); f.getParentFile (). Mkdirs (); // Se a pasta pai não existir, ela será criada automaticamente // recebe o arquivo carregado pelo navegador através do item.getInputStream () inputStream is = item.getInputStream (); // leia o arquivo em // copie o arquivo fileOutputStream fos = new FileOutputStream (f); // mostra byte [] b = novo byte [2*1024*1024] na interface; int len = 0; while ((len = is.read (b))! =-1) {fos.write (b, 0, len); } fos.close (); } else {System.out.println (item.getfieldName ()); // heroname string value = item.getString (); value = new String (value.getBytes ("ISO-8859-1"), "UTF-8"); System.out.println (valor); // Mulberry}} String html = "<img width = '200' altura = '150' src = 'upload/%s'/>"; Response.setContentType ("Text/html"); PrintWriter pw = Response.getWriter (); pw.format (html, nome do arquivo); } / ** * @see httpServlet#DoPost (solicitação httpServletRequest, resposta httpServletResponse) * / DoPost nocivo protegido (httpServletRequest Solicy, httpServletSponse Response) lança servicexception, IoException, // ToDOUTOUSTOnse Response) SERVELETCECCOMENT, STERTELUB, // // //; }}Resultados em execução:
Resumir
O exposto acima é o código de implementação para fazer upload de arquivos para o servidor e exibir funções de acordo. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!