Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-10-2015
gustavosv gustavosv is offline
Miembro
 
Registrado: mar 2008
Posts: 51
Poder: 17
gustavosv Va por buen camino
Hola, tengo un problema muy parecido, simplemente que mis imágenes están en un servidor interno no en un servidor web. Uso XE7.

Tengo un servidor Datasnap que accesa a la base de datos y a los archivos JPG, y unos clientes Windows y Android, el asunto funciona en Windows pero no en Android, estoy usando un TJSONArray para traer la imagen pero en el dispositivo Android el Stream llega = nil.

Aquí el código del servidor Datasnap
Código Delphi [-]
function TServerMethGeneral.GetImagen(ArchivoImagen: string): TJSONArray;
var
  AArchStream: TMemoryStream;
begin
  Result := nil;
  AArchStream := TMemoryStream.Create;

    if FileExists(ArchivoImagen) then
    begin
      AArchStream.LoadFromFile(ArchivoImagen);
      AArchStream.Seek(0, 0);
      Result := TDBXJSONTools.StreamToJSON(AArchStream, 0, AArchStream.Size);
    end
    else
      showmessage('NO se encontró el archivo de imagen: '+ArchivoImagen);
end;

y éste el método de la aplicación cliente, que utiliza un componente TSqlServerMethod (SqlSrvMethGetImagen) para enlazarse
Código Delphi [-]
var
  RutaImg: string;
  AArchJSON: TJSONArray;
  AArchStrem: TStream;
begin
  AArchStrem := TStream.Create;
  RutaImg := 'C:\Imagenes\IMG_5671.jpg';

    SqlSrvMethGetImagen.ParamByName('ArchivoImagen').AsWideString := RutaImg;
    SqlSrvMethGetImagen.ExecuteMethod;

    AArchJSON := (SqlSrvMethGetImagen.ParamByName('ReturnParameter').AsObject) as TJSONArray;
    if AArchJSON = nil then
      ShowMessage('NO encontró la imagen: ' + RutaImg)
    else
    begin
      AArchStrem := TDBXJSONTools.JSONToStream(AArchJSON);
      AArchStrem.Seek(0, 0);
      Image1.Bitmap.LoadFromStream(AArchStrem);
    end;

O me estoy complicando y la solución es por otro lado ...?

Gracias,

GustavoSV
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
WebBrowser bloqueo de carga de imagenes titomigue Internet 1 17-08-2010 09:53:34
Visualizar Imagenes reinier Gráficos 3 12-04-2008 11:40:15
Escribir en un componente Image Caral Gráficos 5 17-12-2007 17:10:08
Visualizar imagenes grandes fjcg02 Gráficos 2 20-11-2006 16:33:36
Visualizar imagenes aig Servers 0 03-06-2003 10:51:39


La franja horaria es GMT +2. Ahora son las 02:36:45.


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
Copyright 1996-2007 Club Delphi