首页 新闻 会员 周边 捐助

程序实现压缩文件解压时总是提示没有找到压缩文件

0
[已关闭问题]

 protected void ImageButton1_Click(object sender,ImageClickEventArgs e)
    {
        HttpPostedFile Hpf = this.FileUpload1.PostedFile;
        if (Hpf.ContentLength <= 0)
        {
            this.Info.Text = "请选择上传文件!";
            return;
        }
        string Ext = ".rar|.zip";
        Regex rg = new Regex(Ext);
        if (!rg.IsMatch(Hpf.FileName))
        {
            this.Info.Text = "不允许上传的文件,请选择rar/zip压缩文件!";
            return;
        }
        string folder = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(DateTime.Now.ToString() + Hpf.FileName,"md5").ToLower().Substring(8,16);
        string path = Server.MapPath("/") + "Item/" + folder;
        string FilePath = path + Path.GetExtension(Hpf.FileName);
        Hpf.SaveAs(FilePath);

        RegistryKey reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\Shell\Open\Command");
        string rarPath = reg.GetValue("").ToString();//获取注册表rar安装路径
        rarPath = rarPath.Substring(0,rarPath.LastIndexOf(' '));
        reg.Close();

        System.Diagnostics.Process P = new Process();
        P.StartInfo.FileName = rarPath;
        Directory.CreateDirectory(path); //创建解压文件夹 

        P.StartInfo.Arguments = "x " + FilePath + " " + path;
        P.Start();//解压开始 
        P.WaitForExit();
        File.Delete(FilePath);//删除rar文件 


        Response.Write("<script type='text/javascript'>window.returnValue='/Item/" + folder + "';window.close()</" + "script>");
    }

此段代码加入将要解压文件房子c盘,解压到c盘可以,但是如果放到F盘的某个文件夹下不可以,F盘根目录下可以,之前项目连接了vss,断开后仍然不行,之前在另一项目中同样代码实现了此功能,不知何原因,速求答案,感谢之至!

syw1988的主页 syw1988 | 初学一级 | 园豆:200
提问于:2010-04-23 00:33
< >
分享
其他回答(1)
0

和vss 没有关系,这是典型的权限不够造成的,你F盘某个文件夹没有给 aspnet 帐号开放足够的权限。

eaglet | 园豆:17139 (专家六级) | 2010-04-23 08:30
给文件夹加了aspnet的权限也不行!不知道为什么,同样的代码在同一个磁盘下,之前的项目就可以!
支持(0) 反对(0) syw1988 | 园豆:200 (初学一级) | 2010-04-23 11:57
0

如果不知道调哪些权限,可以加上everyone权限试试,如果可以了说明是权限的问题,再适中加其它IIS等权限。

Astar | 园豆:40805 (高人七级) | 2010-04-23 09:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册