none
Como adicionar 2 arquivos de texto a um zip RRS feed

  • Pergunta

  • Olá senhores,

    tenho esse script aqui

    string caminhoZIP = Server.MapPath("~/prh/utilitarios/brasil/ARQUIVO-ZIP.zip");
    
               ZipOutputStream zipOutPut = new ZipOutputStream(File.Create(caminhoZIP));
    
               //Compactação level 9
               zipOutPut.SetLevel(9);
               zipOutPut.Finish();
               zipOutPut.Close();
    
               ZipFile zip = new ZipFile(caminhoZIP);
               //Inicia a criação do ZIP
               zip.BeginUpdate();
    
               // criando arquivo
               string nome_arquivo = Server.MapPath(nomedoarquivo);
               if (System.IO.File.Exists(nome_arquivo)) System.IO.File.Delete(nome_arquivo);
               System.IO.File.Create(nome_arquivo).Close();
               System.IO.TextWriter arquivo = System.IO.File.AppendText(nome_arquivo);
    
               // criando arquivo 2
               string nome_arquivo2 = Server.MapPath(nomedoarquivo2);
               if (System.IO.File.Exists(nome_arquivo)) System.IO.File.Delete(nome_arquivo2);
               System.IO.File.Create(nome_arquivo2).Close();
               System.IO.TextWriter arquivo2 = System.IO.File.AppendText(nome_arquivo2);
    
               
               zip.NameTransform = new ZipNameTransform(nome_arquivo.Substring(0, 48));
               zip.Add(nome_arquivo);
    
    
               //nomeZIP = "C:/temp/NomeArquivo2.xls";
               zip.NameTransform = new ZipNameTransform(nome_arquivo2.Substring(0, 48));
               zip.Add(nome_arquivo2);
    
    // varios arquivo.writeline();
    // varios arquivo2.writeline();
    
    
    
    arquivo.Close();
                      arquivo2.Close();
    
    
                      //zip.CommitUpdate();
                      zip.Close();
    
    
                      HttpContext.Current.Response.ClearHeaders();
                      HttpContext.Current.Response.ClearContent();
                      HttpContext.Current.Response.Clear();
                      HttpContext.Current.Response.Buffer = false;
                      HttpContext.Current.Response.ContentType = "application/octet-stream";
                      HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=ARQUIVO-ZIP.zip");
    
                      FileStream inStr = null;
                      byte[] buffer = new byte[1024];
                      long byteCount;
    
    
                      inStr = File.OpenRead(caminhoZIP);
                      while ((byteCount = inStr.Read(buffer, 0, buffer.Length)) > 0)
                      {
                          if (Context.Response.IsClientConnected)
                          {
                              Context.Response.OutputStream.Write(buffer, 0, buffer.Length);
                              Context.Response.Flush();
                          }
                      }
                      Response.End();

    eu consigo mostrar o arquivo zip para o usuário com o dialog "Salvar Como" mas o zip ta vazio, porque ?

    eu to usando o SharpZibLib 

    eu segui por esse link aqui

    http://www.tiagolemos.com.br/2008/10/28/usando-c-com-a-biblioteca-sharplibzip-um-forma-rapida-e-facil-de-compactar-arquivos/

    • Editado Diogoxd10 sexta-feira, 31 de agosto de 2012 12:01
    sexta-feira, 31 de agosto de 2012 11:47

Respostas