Dai galera! Eu tava criando um servlet para fazer upload de arquivos usando o fileupload da jakarta!
Só que eu queria adicionar ao nome do arquivo um código( esse código é o código do usuário ), isso porque eu posso querer colocar dois arquivos iguais no servidor, então eu pegaria o nome original e no começo desse nome eu o concatenaria com o código do usuário! Alguém sabe como eu posso fazer isso? O nome seria assim 0000000123_NomeDoArquivo
Segue o meu código:
[code]import java.io.;
import java.net.;
import java.util.*;
import java.util.Iterator;
import javax.servlet.;
import javax.servlet.http.;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.FileUploadException;
/**
*
-
@author Jhonatas
-
@version
*/
public class UploadArquivoServlet extends HttpServlet {protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();out.println("<html>"); out.println("<head>"); out.println("<title>UploadArquivoServlet</title>"); out.println("</head>"); out.println("<body>"); out.println( "<form action='UploadArquivoServlet' method='post' enctype='multipart/form-data'>" ); out.println( "Seu Nome: <input type='text' name='nome'/><br /> " ); out.println( "Localizaçao do Arquivo: <input type='file' name='arquivo'><br /><br />" ); out.println( "<input type='submit' name='submit' value='Enviar'>" ); out.println( "</form>" ); out.println("</body>"); out.println("</html>"); out.close();
}
public void doGet( HttpServletRequest req, HttpServletResponse res )
throws ServletException,IOException {
processRequest( req, res );
}public void doPost( HttpServletRequest req, HttpServletResponse res )
throws ServletException,IOException {res.setContentType("text/html;charset=UTF-8"); PrintWriter out = res.getWriter(); if ( FileUpload.isMultipartContent(req)) { String usuario = null; DiskFileUpload upload = new DiskFileUpload(); upload.setSizeMax( 200000 ); Iterator iterator = null; try { iterator = upload.parseRequest(req).iterator(); } catch( FileUploadException exc ) { out.println( "Erro processando submissão: " + exc.getMessage() ); return; } //Percorre a lista, checando para cada item se ele é um campo de formulario ou o //conteudo de um arquivo que foi baixado! while( iterator.hasNext() ) { FileItem item = ( FileItem ) iterator.next(); //Checa se campo é um campo simples ou arquivo em upload boolean isFormField = item.isFormField(); if ( isFormField ) { //Obtem o nome do usuario if ( item.getFieldName().equalsIgnoreCase( "nome" )) { usuario = item.getString() == null ? "" : " " + item.getString(); } } else { String nomeArquivo = item.getName(); //String novoNome = nomeArquivo.replaceAll( nomeArquivo, "Jhonatas" ); //out.println( "<h1> " + novoNome + "</h1>" ); String path = null; try { File f = new File( nomeArquivo ); path = "C:/" + f.getName(); //Ele pega o contexto ( endereco ) da aplicaçao no servidor! //path = getServletContext().getRealPath( "/" ) + "WEB-INF/upload/" + f.getName(); File file = new File( path ); item.write( file ); //out.println( "Obrigado " + usuario + "pela submissão<br />" ); out.println( "O arquivo foi gravado em " + path + "." ); } catch( Exception exc ) { out.println( "Erro gravando arquivo: " + exc.getMessage() + path + "<br />" + getServletContext().getRealPath( "/" ) + item.getName() ); } } } } else { out.println( "Erro: Página não pode ser acessada diretamente!" ); }
}
}[/code]