webForumDet fria alternativet

packa upp fil på servern

.NET

1 svar · 474 visningar · startad av Vinnaren

Medlem sedan sep. 2005833 inlägg
Frågan#1

Har koden:

    protected void Unzipfile(string sfile)
    {

        ZipInputStream s = new ZipInputStream(File.OpenRead(sfile));
        ZipEntry theEntry = new ZipEntry(sfile);
        DirectoryInfo di = new DirectoryInfo(GetFolderPath());

        if (!di.Exists)
        {
            di.Create();
        }

            string directoryName = Path.GetDirectoryName(theEntry.Name);
            string fileName = Path.GetFileName(theEntry.Name);
            
            if (theEntry.IsDirectory)
            {
                Directory.CreateDirectory(di.ToString() + directoryName);
            }

            if (fileName != String.Empty)
            {
                String orginalPath = tvMap.SelectedNode.ValuePath;

                //String url = Path.GetFullPath(sfile).ToString();
                //url = url.Replace(".rar", "").Replace(".zip", "");

                String UnZipUrl = orginalPath + "\\" + Path.GetFileNameWithoutExtension(sfile);

                if (!Directory.Exists(UnZipUrl))
                {
                    Directory.CreateDirectory(UnZipUrl);
                }

                FastZip fz = new FastZip();
                fz.ExtractZip(sfile, UnZipUrl, "");
            }
        
        s.Close();
        BindGrid();
        lblMsg.Text = "klart";

    }

Får felmeddelandet:
Cannot find central directory
på:

fz.ExtractZip(sfile, UnZipUrl, "");

sfile har värdet: C:\\....\\upload\\/tema\\test.rar
UnZipUrl har värdet: C:\\....\\upload\\/tema\\test

mappen test skapas ju innan, men inga filer packas upp.

Hur kan man lösa detta??

Tacksam för all hjälp :stud

Medlem sedan dec. 20025 483 inlägg
#2

Är du säker på att ZipInputStream hanterar rar-filer?

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)