Exportar campo com fotos com clientdataset e reimportar
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]
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
Curtidas 0
Respostas
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
Outra ideia seria ao inves de gerar o xml, voce ja gerar um script de insert depois executa-lo
GOSTEI 0
Mario Inacio
21/01/2013
Olá Bruno, poderia me dar exemplos dessas aplicações?
GOSTEI 0
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;
<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