Advertisement
gkpoll

Untitled

Jun 5th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.47 KB | None | 0 0
  1.  // essa é a lista contendo os arquivos XMLs:
  2.  
  3.             List<XML_PESEF>  listaDocumentos = new List<XML_PESEF>();            
  4.  
  5.             // salva todos os XMLs em um diretório temporário no servidor:
  6.  
  7.             foreach(XML_PESEF item in listaDocumentos)
  8.             {
  9.                 string caminhoArquivoTemp = Sat.Framework.IO.TempDirectory.Path + item.nomeDocumento;
  10.  
  11.                 XmlDocument xmlDoc = item.documentoXML;
  12.  
  13.                 XmlTextWriter writer = new XmlTextWriter(caminhoArquivoTemp, Encoding.Default);
  14.                 writer.Formatting = Formatting.Indented;
  15.  
  16.                 xmlDoc.Save(writer);
  17.                 writer.Flush();
  18.                 writer.Close();
  19.             }
  20.  
  21.             // comprime todos os XMLs em um .zip:
  22.  
  23.             Stream arquivoSaida = new MemoryStream();
  24.  
  25.             string[] listaCaminhos = listaDocumentos.Select(s => s.nomeDocumento).ToArray();
  26.  
  27.             Sat.Framework.Compression.CompressionManager.CompressMultipleFilesTo(listaCaminhos, arquivoSaida);
  28.  
  29.             // salva no Storage o zip:
  30.  
  31.             string nomeArquivoZip = "arquivosParaPublicar_" + DateTime.Now.ToShortDateString() + ".zip";
  32.  
  33.             FileMetadata oFileMetaData = StorageManager.StoreFile(nomeArquivoZip, "Sat.Pesef.Zips", arquivoSaida);
  34.  
  35.             // esse é o link para disponibilizar para o usuário por uma AddSuccessMessage:
  36.  
  37.             string linkParaDisponibilizar = "~/GetFileContent.fwk?Id=" + oFileMetaData.Id;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement