witam,
mam maly problem. staram sie teraz zeby jesli plik zawiera rozszerzenie zip zostaly rozakowany do c:\temp. w chwili obecnej program rozpkowuje archiwa, ale tyllko i wylacznie jesli znajduja sie we wskazanym miejscu, tzn jesli napisze w programie ze plik jest na oZip.Load("c:\FindingFileTypes.zip"); wtedy program go rozpakuje. jesli natomiast wskarze jego miejsce poprzez formularz, nic sie nie dzieje. bardzo bym prosil o pomoc. zaznacze jeszcze ze jestem poczatkujacm programista.
z gory dziekuje
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>File Upload</title>
</head>
<body>
<form id="Form1" method="post" runat="server">`
<table cellpadding="0" cellspacing="0" width="80%" align="center" border="4">
<tr><td height="20px"></td></tr>
<asp:CheckBox ID="HTML" runat="server" Text="HTML"/><br>
<asp:CheckBox ID="Java" runat="server" Text="Java"/><br>
<asp:CheckBox ID="TXT" runat="server" Text="TXT"/>
<tr><td height="80%px" align="left" valign="middle">
<asp:FileUpLoad id="MyFile" runat="server" size="80"/>
<br /><br />
<asp:Label id="lbl" runat="server" Width="400px" Height="33px" /><br>
<asp:Button id="UploadBtn" Text="Upload File" OnClick="btnSubmit_Click" runat="server" Width="300px" />
<asp:RegularExpressionValidator id="FileUpLoadValidator" runat="server" ErrorMessage="Upload ZIP, HTML, JAVA or TXT files only!" ValidationExpression="(.*\.([zZ][iI][pP]|[hH][tT][mM][lL]|[jJ][aA][vV][aA]|[tT][xX][tT])$)" ControlToValidate="MyFile" />
</td></tr></table>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.IO;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using EACompression;
public partial class _Default : System.Web.UI.Page
{
protected void btnSubmit_Click(object sender, EventArgs e)
{
string fileExt = Path.GetExtension(MyFile.FileName).ToLower();
string fileName = Path.GetFileName(MyFile.FileName);
if (MyFile.PostedFile.ContentLength == 0)
{
lbl.Text = "Nothing to uppload";
return;
}
else if (fileExt == ".zip")
{
try
{
ZipArchive oZip = new ZipArchive("TryIt");
oZip.Load("c:\\FindingFileTypes.zip");
ZipFile[] zs = oZip.Files;
int count = zs.Length;
string password = "";
bool overwrite = true;
for (int i = 0; i < count; i++)
{
ZipFile z = zs[i];
if (!z.IsDirectory)
System.IO.Directory.CreateDirectory(@"c:\temp");
oZip.ExtractTo(z, password, "c:\\temp", overwrite);
}
}
catch (Exception ep)
{
Console.Write(ep.Message);
}
lbl.Text = "Successfully Unzziped: " + MyFile.PostedFile.FileName;
//MyFile.PostedFile.SaveAs("c:\\temp\\" + MyFile.PostedFile.FileName);
}
else
{
System.IO.Directory.CreateDirectory(@"c:\temp");
lbl.Text = "Successfully Uploaded: " + MyFile.PostedFile.FileName;
MyFile.PostedFile.SaveAs("c:\\temp\\" + MyFile.PostedFile.FileName);
}
}
}