FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Empaquetar XMLs en un GZIP
Buen día,
tengo problemas con el envió de facturas masivas para la facturación electrónica, según lo que indican se debe seguir con un código en java, pero estoy usando delphi, aparte de ello es solo para un archivo, el código que uso para la compresión y envió individual: Código:
procedure compressGzip(factura, agzip : string); var LInput, LOutput: TFileStream; LZip: TZCompressionStream; begin LInput := TFileStream.Create(factura, fmOpenRead); LOutput := TFileStream.Create(agzip, fmCreate); LZip := TZCompressionStream.Create(LOutput, zcDefault, 15 + 16); LZip.CopyFrom(LInput, LInput.Size); LZip.Free; LInput.Free; LOutput.Free; end; Agradezco sus comentarios |
#2
|
|||
|
|||
Cita:
Código:
uses System.IOUtils, System.Classes, System.Zip; procedure CompressGzip(facturas: TArray<string>); var i: Integer; LZip: TZipFile; LInput, LOutput: TFileStream; begin LZip := TZipFile.Create; try LOutput := TFileStream.Create('facturas.zip', fmCreate); try LZip.Open(LOutput, zmWrite); for i := 0 to Length(facturas) - 1 do begin LInput := TFileStream.Create(facturas[i], fmOpenRead); try LZip.Add(LInput, ExtractFileName(facturas[i])); finally LInput.Free; end; end; LZip.Close; finally LOutput.Free; end; finally LZip.Free; end; end; //Aquí está cómo puedes llamar a esta función con tus archivos XML: var facturas: TArray<string>; begin SetLength(facturas, 3); // Establece la longitud del array según la cantidad de archivos XML que tengas facturas[0] := 'ruta_factura1.xml'; facturas[1] := 'ruta_factura2.xml'; facturas[2] := 'ruta_factura3.xml'; CompressGzip(facturas); end; |
#3
|
|||
|
|||
Muchísimas gracias, realizare las pruebas para el envió.
|
#4
|
|||
|
|||
Favorablemente el código me ayudo bastante, pero al realizar el envió mediante el servicio soap al servicio de impuestos nacionales me genera el siguiente error:
Código:
<mensajesList> <codigo>920</codigo> <descripcion>EL PARAMETRO ARCHIVO ES INVALIDO No se desempaqueto XMLs</descripcion> </mensajesList> |
#5
|
||||
|
||||
Que versión de Delphi estas usando? Porque no usas System.Zip ?
|
#6
|
|||
|
|||
Cita:
Última edición por Delphi01 fecha: 29-01-2024 a las 20:07:11. |
#7
|
|||
|
|||
Ya resolví el problema con el empaquetado, el detalle era que lo primero que se debía realizar es el empaquetado tipo tar y después en un gzip.
Muchas gracias por las respuestas proporcionadas por todos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cómo extraer contenido de un archivo gzip | Casimiro Notevi | Varios | 7 | 06-07-2023 21:21:28 |
Descomprimir un archivo gzip con Delphi | jplj | Varios | 7 | 09-05-2013 23:52:40 |
Empaquetar Delphi | nasedo | Varios | 2 | 19-11-2010 12:24:11 |
Empaquetar gráficos | |NoName| | Varios | 0 | 29-01-2007 20:34:55 |
libreria gzip.dll | locotenentul | Varios | 3 | 14-09-2005 19:23:02 |
|