Hola,

si el problema es la parte del servidor, quizas esa clase te puede
ayudar

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import
org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.IOUtils;

public class FileUploadServlet extends HttpServlet {

        public void doPost(HttpServletRequest req, HttpServletResponse res)
                        throws ServletException, IOException {
                ServletFileUpload upload = new ServletFileUpload();
                upload.setSizeMax(10000000);
                res.setContentType("text/plain");
                PrintWriter out = res.getWriter();
                try {
                        try {
                                FileItemIterator iterator = 
upload.getItemIterator(req);
                                while (iterator.hasNext()) {
                                        FileItemStream item = iterator.next();
                                        InputStream in = item.openStream();

                                        if (item.isFormField()) {
//                                              out.println("Got a form field: 
" + item.getFieldName());
                                        } else {
                                                String fieldName = 
item.getFieldName();
                                                String fileName = 
item.getName();
                                                String contentType = 
item.getContentType();

//                                              out.println("--------------");
//                                              out.println("fileName = " + 
fileName);
//                                              out.println("field name = " + 
fieldName);
//                                              out.println("contentType = " + 
contentType);

                                                try {
                                                        Blob blob = new 
Blob(IOUtils.toByteArray(in));
                                                        String imageId = 
DataDao.dataDao.saveFile(blob, req);
                                                        String type = 
req.getParameter("type");
                                                        String id = 
req.getParameter("id");
                                                        
if(!StringUtil.isEmpty(type) && !StringUtil.isEmpty(id)){
                                                                HasImage 
hasImage = (HasImage) DataDao.dataDao.getObjectById
(id, Class.forName(type));
                                                                if(hasImage != 
null){
                                                                        
hasImage.setImageId(imageId);
                                                                        
DataDao.dataDao.updateObject((ModelObject) hasImage);
                                                                }
                                                        }
                                                        out.print(imageId);
                                                } finally {
                                                        
IOUtils.closeQuietly(in);
                                                }

                                        }
                                }
                        } catch (SizeLimitExceededException e) {
                                out.println("You exceeded the maximu size ("
                                                + e.getPermittedSize() + ") of 
the file ("
                                                + e.getActualSize() + ")");
                        }
                } catch (Exception ex) {
                        out.print(Constants.MSG_FILE_UPLOAD_FAILED);
                        ex.printStackTrace();
                }
        }
}

la clave es de usar las librerias de commons-fileupload-1.2.1.jar y
commons-io-1.3.2.jar

asi que puedes convertir a bytes usando

IOUtils.toByteArray(in)

Espero que ayuda

Dominik
On 30 Sep., 02:34, preguntona <mjbaj...@gmail.com> wrote:
> Hola a todos, a ver si alguien me puede echar una mano en algo q
> seguro es facil, pero soy una principiante.
> He creado un formulario con un TextField donde introduzco el nombre
> del personaje y un FileUpload para subir
> una unica imagen para el personaje en cuestión. En la base de datos,
> esta imagen la tengo como tipo BLOB, por
> lo que debo recogerla como byte[], pero no se cómo hacerlo. ¿Alguien
> que me pueda ayudar?
> La necesito como el aire para respirar!!!!! Muchas gracias por
> adelantado.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to