Problema para guardar datos desde campo Blob al disco duro
Hola a todos/as.
Tengo una aplicación de mensajería entre usuarios que he programado y que se conecta a una base de datos MySql Online. Lo que quiero hacer es que cuando la aplicación inicie compruebe si hay una versión más nueva (subida previamente por mí), y si la hay descargar el ejecutable de la versión más nueva y de esa forma digamos que el programa se "autoactualiza". Bien, el procedimiento para subir el archivo binario (.exe) a un campo de tipo LongBlob en la BD MySql ya está implementado y en principio funciona bien, no obstante pongo lo que sería el código (no explícitamente ya que no es relevante): El procedimiento es correcto y en la BD puedo ver que efectivamente el campo LongBlob se ha modificado y supuestamente contiene el archivo ejecutable subido, que ocupa unos 2.2Mb, y así se muestra en la misma BD. El problema viene cuando intento descargar el archivo de la BD y guardarlo en el disco duro, siempre me descarga mi archivo ejecutable pero de tamaño 32Kb y que lógicamente no funciona. En el caso de que suba un archivo de menos de 32Kb, lo descarga bien y funciona correctamente. Recuerdo que en la propia BD MySql el archivo está supuestamente bien guardado y ocupa 2.2Mb. El código usado es el siguiente: No hay errores y de hecho me genera la descarga pero como ya he dicho de un máximo de 32Kb, creo que es como si hubiera algún límite o similar, pero la BD no lo impone ya que la propia BD me dice que el campo LongBlob ocupa 2.2Mb. Por favor, ¿alguna sugerencia, idea o alguna otra forma de hacerlo?. Si necesitais cualquier información adicional o no entendeis alguna cosa por favor pedidmelo. De antemano, muchas gracias y un saludo. |
|
Ups, si, tienes razón, ha sido un error sintáctico, en la aplicación lo tengo bien, pero no es ese el problema, sigue sin funcionarme, alguna ayuda o sugerencia por favor...
|
Pues entonces pega aquí exactamente el código que estás usando.
|
Ok, pongo el código exacto que utilizaba, hay algunas funciones implementadas por mí que sólo sirven para mostrar un cierto mensaje de error en caso de fallo y cosas así, son irrelevantes para el caso que nos ocupa aquí ;)
Código para subir el archivo .exe:
El código usado para descargar el archivo subido previamente es:
Es cuando descargo el archivo que sólo me lo crea de 32Kb. Gracias de antemano ;) |
Revisa los parametros del my.ini
Revisa el parámetro:
max_allowed_packet, es el que se encarga de limitar el tamaños de los archivos. Ej. max_allowed_packet=100mb |
La franja horaria es GMT +2. Ahora son las 15:55:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi