Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Guardar imagen de un timage con direccion IP (https://www.clubdelphi.com/foros/showthread.php?t=90730)

choclito1 22-08-2016 17:20:47

Guardar imagen de un timage con direccion IP
 
Buenos días amigos del foro.
Comentarles que busque en la web y en el foro mi duda y no encontre nada, El problema que tengo es el siguiente estoy haciendo un sistema en delphi xe2, firebird 2.5, tengo una timage y quisiera guardar la imagen del timage en el servidor
El codigo que me ayudo del foro es el siguiente:
Código Delphi [-]
 Image1.Picture.SaveToFile('C:\Sistema\Imagen.bmp');
y lo cambie por este:
Código Delphi [-]
 Image1.Picture.SaveToFile(Server+'C:\Sistema\Imagen.bmp');
pero cuando ejecuto mi aplicacion me da error
en mi base de datos tengo solo la ruta de las imagenes , y quisiera que una imagen que este en un timage se guarde el archivo de la imagen en el servidor
Muchas gracias amigos por la ayuda que me brinden

aposi 22-08-2016 17:40:52

prueba con la ruta de red \\servidor\c\sistema\imagen.bmp

Código Delphi [-]
 Image1.Picture.SaveToFile(Server+'\C\Sistema\Imagen.bmp');

Casimiro Notevi 22-08-2016 17:55:04

Cita:

Empezado por choclito1 (Mensaje 507991)
cuando ejecuto mi aplicacion me da error

Desde aquí no alcanzamos a ver tu pantalla para leer el error.

choclito1 22-08-2016 18:12:16

Gracias por la respuesta
 
Mil disculpas con la ayuda brindada modifique el codigo por:
Código Delphi [-]
 Image1.Picture.SaveToFile(\\f_usuario.server\c\SISGESS\Documentos\'FOTO'+'nombre.text'+.jpg);

pero ahora me da el siguiente error cuando hago clic en guardar el registro:
Cannot create file "\\PC-Server\C\SISGESS\Imagenes\Documentos\FOTOABC.jpg".
No se encuentra el nombre de red especificado.


Muchas gracias por la ayuda brindada amigos del foro

Casimiro Notevi 22-08-2016 18:20:06

Normal, las cadenas de texto van entre comillas:
Código Delphi [-]
'\\'+f_usuario.server+'c:\sisgess\documentos\foto'+nombre.text+'.jpg'



Cita:

Empezado por choclito1 (Mensaje 507994)
Mil disculpas con la ayuda brindada modifique el codigo por:
Código Delphi [-] Image1.Picture.SaveToFile(\\f_usuario.server\c\SISGESS\Documentos\'FOTO'+'nombre.text'+.jpg);


pero ahora me da el siguiente error cuando hago clic en guardar el registro:
Cannot create file "\\PC-Server\C\SISGESS\Imagenes\Documentos\FOTOABC.jpg".
No se encuentra el nombre de red especificado.


Muchas gracias por la ayuda brindada amigos del foro


choclito1 24-08-2016 14:13:52

Mensaje de Error
 
Buenos días amigos del foro, gracias a las sugerencias realice los cambios y el código que tengo es este:
Código Delphi [-]
ruta:=Image1.Picture.SaveToFile(\\f_usuario.server\c\SISGESS\Documentos\'FOTO'+nombre.text+'.jpg');
  if FileExists(ruta) then
      deletefile(ruta);
     Image1.Picture.SaveToFile(ruta);
     ibq_pac_ext.FieldByName('ruta_foto_ingreso').AsString:=ruta;

Pero cuando ejecuto el sistema y quiero añadir o modificar a los usuarios me muestra el siguiente mensaje de error:

Cannot create file "\\PC-Server\C\SISGESS\Imagenes\Documentos\FOTOABC.jpg".
No se encuentra el nombre de red especificado.

Para que se entienda mi problema, les comento que lo que me pidieron es que el usuario registre los datos de los pacientes y también pueda seleccionar una foto, pero en la base de datos se guarde solo la ruta donde se encuentre la foto y también guardar la foto en el servidor
pero no me deja guardar el registro, cual seria el error??
Como lo voy a guardar en el servidor, tendría que cambiar los permisos de la carpeta PC-Server\C\SISGESS\Imagenes\Documentos\, es necesario compartir esa carpeta???
Amigos del foro esperare sus opiniones por favor, muchas gracias por los mensajes o sugerencias que me brinden

ecfisa 24-08-2016 17:15:03

Hola choclito1.

Sería muy útil que nos escribieras exáctamente un ejemplo del texto que deseas obtener.

Pero primero repasemos la línea de tu código:
Código Delphi [-]
ruta:=Image1.Picture.SaveToFile(\\f_usuario.server\c\SISGESS\Documentos\'FOTO'+nombre.text+'.jpg');
  1. Falta encerrar el primer texto entre comillas simples (').
  2. Falta el separador de ruta (\) al finalizar la primer cadena.
  3. Falta el signo de adición (+) que concatena la primera parte de la cadena con "nombre.text".
Fijate si de este modo te resulta mas simple:
Código Delphi [-]
ruta := Image1.Picture.SaveToFile(Format('\\f_usuario.server\c\SISGESS\Documentos\FOTO\%s.JPG',[nombre.text]));
Todo eso suponiendo que ese es el formato de salida que deseas obtener ...


Saludos :)

choclito1 24-08-2016 17:45:06

Aclarando
 
Muchas gracias ecfisa por responder al post.
Te comento, q tengo un sistema en una institucion medica, para la gestion de pacientes, me pidieron que los usuarios que tienen acceso a la ventana de gestion de pacientes puedan seleccionar la foto de los pacientes pero en el servidor y no asi en sus computadoras.
En principio yo guardaba solo la dirección(ruta) de las fotos en mi base de datos (las fotos estaban en las maquinas clientes) y solo trabajaba con el path de las fotos, pero ahora se quiere que las fotos esten tambien en el servidor pero que no dentro de la BD sino por separado
el acceso a la base de datos por parte de los usuarios por medio del cliente es via TCP/IP
¿Tendria que cambiar atributos de la carpeta en el servidor para que se pueda guardar los fotos en el servidor? ¿Que seguridad tendria para que solo los usuarios del sistema puedan acceder a las fotos por medio del sistema?
En la base de datos solo guardo el path de las fotos
Vi en los post del foro que varios usuarios no recomiendan que se guarde las imagenes en la base de datos porque eso hace que cresca (en megas) la BD
Trabajo con Delphi xe2, firebird y componentes IB para conectarse a la BD
¿Cual seria la sugerencia que me brinden amigos?
Espero me hayas podido entender el problema, gracias por leer el post

choclito1 24-08-2016 17:59:40

Aclarar codigo
 
Mil disculpas amigos no envie correctamente el codigo que utilice , es el siguiente:
Código Delphi [-]

ruta:='\\'+f_usuario.server+'\c\SISGESS\Documentos\FOTO'+nombre.text+'.jpg';
  if FileExists(ruta) then
      deletefile(ruta);
     Image1.Picture.SaveToFile(ruta);
     ibq_pac_ext.FieldByName('ruta_foto_ingreso').AsString:=ruta;
con este codigo me sale el mensaje que cite anteriormente,
Lo que quisera con el codigo es guardar la ruta de la imagen en mi BD y guardar la imagen en una carpeta del Servidor de BD, ¿Se puede hacer eso amigos? ¿Que otra alternativa se puede tomar?


Gracias por la ayuda que me puedan brindar amigos del foro

ecfisa 24-08-2016 18:17:53

Hola.
Cita:

Empezado por choclito1 (Mensaje 508094)
...

Según entiendo el requisito ya está fijado; las imágenes deben residir en el servidor fuera de la BD y dentro de una carpeta.
Entonces queda librado a tu buén criterio donde crear, situar y organizar esa/s carpeta. Lo mas común es situarla en una subcarpeta de donde reside la bd o en una carpeta hermana de esta, pero podría ser cualquier otra situación.

En cuanto a los permisos, es lógico que todos los usuarios tendrían que tener acceso a esa carpeta para poder acceder a las imágenes.

Cita:

Empezado por choclito1 (Mensaje 508095)
...

Para pocer evaluar el conenido exácto de la variable ruta, por favor agrega las siguientes líneas a tu código:
Código Delphi [-]
...
uses Clipbrd;
...
begin
  ruta:='\\'+f_usuario.server+'\c\SISGESS\Documentos\FOTO'+nombre.text+'.jpg';
   Clipboard.AsText := ruta;
  ...
Y luego, en el mensaje de tu respuesta (en este hilo) y entre las etiquetas [quote] [/quote], realiza Ctrl + V.

Saludos :)

choclito1 29-08-2016 04:33:16

Gracias amigo ecfisa por responder, a la carpeta Documentos la comparti en la red y como me recomiendas lo copie con CTRL+V y es este el código:
Cita:

\\SERVER\C\SISGESS\Imagenes\Documentos\FOTO_ALM05062007.jpg
el error que me muestra es el siguiente:
Cannot create file "\\Server\C\SISGESS\Imagenes\Documentos\FOTO_ALM05062007.jpg".
No se encuentra el nombre de red especificado.


Gracias por la ayuda que me puedan brindar amigos del foro.....

escafandra 29-08-2016 13:34:26

Habrá que ver si ese equipo tiene recursos compartidos, permisos de acceso y demás. La letra de unidad puede requerir añadir un carácter $ al final:

Cita:

\\SERVER\C$\SISGESS\Imagenes\Documentos\FOTO_ALM05062007.jpg

Saludos.

choclito1 30-08-2016 06:45:49

Ayuda
 
Gracias amigo por responder, busque en el foro y la web informacion para poder guardar un archivo por medio del sistema.
Pero no encontre nada, comparti la carpeta y cambie los permisos para q todos los usuarios tengan acceso a la carpeta, pero no consigo guardar el archivo.
El error que me muestra es:
el error que me muestra es el siguiente:

Cannot create file "\\Server\C\SISGESS\Imagenes\Documentos\FOTO_ALM05062007.jpg".
No se encuentra el nombre de red especificado.

Gracias amigos del foro, estare al pendiente de sus comentarios

escafandra 30-08-2016 07:58:51

Cita:

Empezado por choclito1 (Mensaje 508280)
comparti la carpeta y cambie los permisos para q todos los usuarios tengan acceso a la carpeta, pero no consigo guardar el archivo.

¿Cual es el nombre de la carpeta que compartíste? ¿Documentos?
Entonces la ruta debe ser:
Cita:

'\\Server\Documentos\FOTO_ALM05062007.jpg'
Saludos.

choclito1 30-08-2016 22:08:41

Ayuda
 
Muchas gracias amigo por responder, justamente la carpeta documentos es la que comparti y el codigo lo cambie como me sugieres pero ahora me sale el siguiente error:

Cita:

Cannot create file "\\Server\Documentos\FOTO_ALM05062007.jpg".
Error de inicio de sesion, nombre de usuario desconocido o contraseña incorrecta
Para aclararles trabajo con Delphi xe2, Firebird 2.5 y los IBX para conectarme a la base de datos
Que me faltaría hacer amigos, ya comparti la carpeta y tambien cambie los privilegios para que todos los usuarios tengan acceso
Estare atento a sus sugerencias amigos del foro

escafandra 30-08-2016 23:13:23

Tienes que identificarte como un usuario con permisos. Revisa este hilo.


Saludos.


La franja horaria es GMT +2. Ahora son las 15:04:09.

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