notax 0 Denunciar post Postado Setembro 23, 2013 Boa tarde. Sou programador asp e estou apanhando aqui. Preciso compactar remotamente pastas (não arquivos) e em asp clássico sem componentes tava bem complicado. Daí resolvi tentar em aspx e até já consegui algumas coisas, mas não exatamente o que procuro, por exemplo, o script que colo abaixo compacta arquivos, de qq forma eles ficam com a extensão errada... mas até funciona... O que preciso seria adaptar o script, mas não to conseguindo... Estou usando dreamweaver (não tenho visual studio) e o script rodara no server e será executado pela Web... Como funciona: meu sistema envia via querystring a variavel pasta que tem o endereço físico completo da onde a pasta a ser compactada está no servidor, exemplo: pasta = c:\_dados\temp preciso compactar tudo que tem dentro desta página e salvar dentro da própria pasta com o nome: zipado.zip, ex.: c:\_dados\temp\zipado.zip O script que achei foi esse abaixo: <%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.IO.Compression" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> // Especifique a pasta que será listada na combo e o destino do .ZIP string pasta = @"\zipar\"; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(Request.ServerVariables["APPL_PHYSICAL_PATH"] + pasta); System.IO.FileInfo[] fi = di.GetFiles(); DropDownList1.Items.Add("== Escolha um arquivo =="); foreach (System.IO.FileInfo arquivo in fi) DropDownList1.Items.Add(arquivo.Name); } } protected void Button1_Click(object sender, EventArgs e) { if (DropDownList1.SelectedValue != "== Escolha um arquivo ==") { Byte[] arquivoOriginal = File.ReadAllBytes(Request.ServerVariables["APPL_PHYSICAL_PATH"] + pasta + DropDownList1.SelectedValue); FileStream arquivoDestino = File.Create(Request.ServerVariables["APPL_PHYSICAL_PATH"] + pasta + DropDownList1.SelectedValue + ".zip"); using (GZipStream zip = new GZipStream(arquivoDestino, CompressionMode.Compress, false)) { zip.Write(arquivoOriginal, 0, arquivoOriginal.Length); zip.Close(); } Response.Write("Compactei!!!"); } else { Response.Write("Escolha um arquivo!!"); } } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:DropDownList ID="DropDownList1" runat="server"> </asp:DropDownList> <br /> <br /> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="compactar" /> </div> </form> </body> </html> Alguém pode dar uma força? Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Setembro 24, 2013 O que você já conseguiu fazer? Compartilhar este post Link para o post Compartilhar em outros sites