|
Ronaldo ,
Vc deve fazer upload do arquivo que esta
sendo digitado e obter um os bytes do arquivo para gravar no banco ,
como seu formulario deve ter outros tipos de campos n�o
binario , de uma
olhada nesta api : http://www.servlets.com/cos/index.html ,
para obter o arquivo em binario e os campos.
A classe que vc deve utilizar e a classe MultipartRequest ,
seu formulario deve ter a tag enctype ,
exemplo <form action="" enctype="MULTIPART/FORM-DATA"
method=post> ,
voce envia os dados para o servidor no formato
binario , se vc tentar usar request..getParameter("xxx") ;
de um valor do seu
formulario, retorna null.
Exemplo de como vc deve utilizar a lib , que vai facilitar o
seu trabalho para ler os dados enviados no formato binario :
import java.io.*;
import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import com.oreilly.servlet.MultipartRequest;
public class UploadTest extends HttpServlet {
public void doPost(HttpServletRequest req,
HttpServletResponse
res)
throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); try {
// Blindly take it on faith this is a multipart/form-data request // Construct a MultipartRequest
to help read the information.
// Pass in the request, a directory to save files to, and the // maximum POST size we should attempt to handle. // Here we (rudely) write to /tmp and impose a 50 K limit. MultipartRequest multi = new MultipartRequest(req, "/tmp", 50 * 1024, new com.oreilly.servlet.multipart.DefaultFileRenamePolicy());
out.println("<HTML>");
out.println("<HEAD><TITLE>UploadTest</TITLE></HEAD>"); out.println("<BODY>"); out.println("<H1>UploadTest</H1>"); // Print the parameters we
received
out.println("<H3>Params:</H3>"); out.println("<PRE>"); Enumeration params = multi.getParameterNames(); while (params.hasMoreElements()) { String name = (String)params.nextElement(); String value = multi.getParameter(name); out.println(name + " = " + value); } out.println("</PRE>"); // Show which files we
received
out.println("<H3>Files:</H3>"); out.println("<PRE>"); Enumeration files = multi.getFileNames(); while (files.hasMoreElements()) { String name = (String)files.nextElement(); String filename = multi.getFilesystemName(name); String original = multi.getOriginalFileName(name); String type = multi.getContentType(name); File f = multi.getFile(name); //
****************Aqui voce ler o File f com FileReader e usa os
procedimentos para gravar no banco.
out.println("name: " + name); out.println("filename: " + filename); if (filename != null && !filename.equals(original)) { out.println("original file name: " + original); } out.println("type: " + type); if (f != null) { out.println("length: " + f.length()); } out.println(); } out.println("</PRE>"); } catch (Exception e) { out.println("<PRE>"); e.printStackTrace(out); out.println("</PRE>"); } out.println("</BODY></HTML>"); } } Listagem dos bugs : http://www.servlets.com/soapbox/bugs.html
|
- [enterprise-list] Clob Ronaldo
- Re: [enterprise-list] Clob V a l t e r L o b o
- Re: [enterprise-list] Clob Ronaldo
- Re: [enterprise-list] Clob V a l t e r L o b o
- Re: [enterprise-list] Clob Maiko A. Rocha
- Re: [enterprise-list] Clob Ronaldo
