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 <[email protected]> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---