Anderson Collete wrote:
>
> Bom Dia � todos.
>
> Estou desenvolvendo um aplicativo, utilizando servlets e/ou JSP, que fa�a um
> cadastro de curr�culos. A d�vida � a seguinte: preciso anexar e/ou
> referenciar arquivos junto aos curr�culos, por exemplo, quando clicar sobre
> o bot�o, abrir uma janela onde me mostrar� todas as pastas e arquivos do
> meu diret�rio, podendo escolher o arquivo que far� parte do meu cadastro.
> N�o h� a necessidade de gravar este arquivo no banco de dados, apenas
> referenci�-lo.
> Existe alguma classe que poder� me ajudar ???
>
> Obrigado pela ajuda !!!!
Anderson,
Essa pergunta j� foi feita na lista de java da sun. Segue abaixo a
melhor resposta traduzida.
Voc� pode usar a classe MultipartRequest.class, que pode ser
encontrada em :
http://www.servlets.com/resources/com.oreilly.servlet/MultipartRequest.html
Copie essa classe e guarde-a no seu diret�rio de classes.
O content type da sua p�gina html tem que ser multipart/form-data:
<form method="post" enctype="multipart/form-data"
action="servlet/OnlineUpload">
<input type=file name="myFile">
<input type=Submit value=Upload>
</form>
C�digo do Servlet:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.oreilly.servlet.MultipartRequest;
public class OnlineUpload extends HttpServlet {
public String upload(HttpServletRequest req, HttpServletResponse res,
String filePath, int
fileSize) throws ServletException,
IOException {
String backUpload = "";
res.setContentType("text/html");
PrintWriter out = res.getWriter();
try {
MultipartRequest multi = new
MultipartRequest(req, filePath, fileSize);
Enumeration params =
multi.getParameterNames();
while (params.hasMoreElements()) {
String name = (String)params.nextElement();
String value = multi.getParameter(name);
System.err.println(name + " = " + value);
}
System.err.println("Files:");
Enumeration files = multi.getFileNames();
while (files.hasMoreElements()) {
String name = (String)files.nextElement();
String filename =
multi.getFilesystemName(name);
String type = multi.getContentType(name);
File f = multi.getFile(name);
System.err.print(" name: " + name);
System.err.print(" filename: " + filename);
System.err.print(" type: " + type);
if (f != null) {
System.err.print(" length: " + f.length());
System.err.println();
}
backUpload = filename;
}
}
catch (Exception e) {
e.printStackTrace(out);
//out.println("</PRE>");
}
return backUpload;
}
}
Espero que ajude,
Gilmar J. Alves de Souza Jr.
[EMAIL PROTECTED]
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------