本帖最后由 aa258378001 于 2014-12-01 18:06:40 编辑

解决方案 »

  1.   

    如果是ftp 并且有写的权限 就可以,如果是局域网并且有可写权限的共享账号和密码 就可以,如果就是个http 你可以开个接口出来 请求接口传入参数 解压指定路径如果只是一个http 当然不能,这就跟有人问 浏览器可不可以直接执行1个可执行程序一样
      

  2.   

    在、FtP服务器上部署服务,调用服务去解压缩
      

  3.   

    用Gzip解压文件
    //选择文件
     private void button1_Click(object sender, EventArgs e)
            {
                openFileDialog1.Filter = "压缩文件(*.gzip)|*.gzip";
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    textBox1.Text = openFileDialog1.FileName;
                }
            }
    //解压文件
      private void button2_Click(object sender, EventArgs e)
            {            if (String.IsNullOrEmpty(textBox1.Text))
                {
                    MessageBox.Show("请选择GZIP文件!", "信息提示");
                    return;
                }            if (String.IsNullOrEmpty(textBox2.Text))
                {
                    MessageBox.Show("请输入解压文件名!", "信息提示");
                    return;
                }            string str1 = textBox1.Text;
                string str2 = textBox2.Text.Trim();
                byte[] myByte = null;
                FileStream myStream = null;
                FileStream myDesStream = null;
                GZipStream myDeComStream = null;
                try
                {
                    myStream = new FileStream(str1, FileMode.Open);
                    myDeComStream = new GZipStream(myStream, CompressionMode.Decompress, true);
                    myByte = new byte[4];
                    int myPosition = (int)myStream.Length - 4;
                    myStream.Position = myPosition;
                    myStream.Read(myByte, 0, 4);
                    myStream.Position = 0;
                    int myLength = BitConverter.ToInt32(myByte, 0);
                    byte[] myData = new byte[myLength + 100];
                    int myOffset = 0;
                    int myTotal = 0;
                    while (true)
                    {
                        int myBytesRead = myDeComStream.Read(myData, myOffset, 100);
                        if (myBytesRead == 0)
                            break;
                        myOffset += myBytesRead;
                        myTotal += myBytesRead;
                    }
                    myDesStream = new FileStream(str2, FileMode.Create);
                    myDesStream.Write(myData, 0, myTotal);
                    myDesStream.Flush();
                    MessageBox.Show("解压文件完成!");
                }
                catch { }
                finally
                {
                    myStream.Close();
                    myDeComStream.Close();
                    myDesStream.Close();
                }
            }
      

  4.   

    只要有读权限,把它读到Stream中就可以解压了,不一定要下载到本地