Exportar campo com fotos com clientdataset e reimportar

Delphi

21/01/2013

Bom dia,
Preciso enviar uma loja para outra, as fotos do cadastro de produtos em XML.

Para isso, fiz:

1) Etapa 1
* seleciono todos os produtos que tem foto:
- select codpro,fotopro from produtos where not fotopro is null

* Depois salvo o clientdataset em XML:
- SaveToFile('fotopro.xml',dfXMLUTF8)

2) Etapa 2
- Na outra loja, abro o XML com loadfromfile.
- O campo importado FOTOPRO nesse momento como string no ClientDataSet, como o converto para "imagem".

Segue em anexo o arquivo gerado na "Etapa 1".

Se puderem me ajudar, agradeço.

att
Mario

[url]www.aldus.com.br/fotopro.xml[/url]
Mario Inacio

Mario Inacio

Curtidas 0

Respostas

Bruno Leandro

Bruno Leandro

21/01/2013

para exportar imagem o ideial é voce pode converter ela para base64 por exemplo, pois existem alguns caracteres que na hora de ler a string alguns funções do delphi interpreta como scapes, ex: quebra de linha, entre outras.
Outra ideia seria ao inves de gerar o xml, voce ja gerar um script de insert depois executa-lo
GOSTEI 0
Mario Inacio

Mario Inacio

21/01/2013

Olá Bruno, poderia me dar exemplos dessas aplicações?
GOSTEI 0
Bruno Leandro

Bruno Leandro

21/01/2013

ola mario para converter para base64 é simples existem componentes do indy que faz esse processo, ai voce pode fazer mais ou menos assim

<campo1>1</campo1><campo2>2</campo2><campoimage>imagem em base 64</campoimage>

depois na hora de ler voce, inclui

qry.insert;
qry.imagem.asstring := descpt_base64(campoimage)
qry.post;
GOSTEI 0
POSTAR