解决方案 »

  1.   

    C#压缩与解压:
    http://msdn.microsoft.com/zh-cn/library/ms404280(v=vs.110).aspx
    winform上传文件:
    http://blog.csdn.net/wuchen67977874/article/details/5956866
      

  2.   

    上传一个文件夹不是一小段代码能解决问题的
    你得熟悉:socket   、remoting 、WCF的其中一种
    关于文件传送,csdn上其实已经有很多例子。
      

  3.   

    上传就有很多方式..比如 1`你写个webservice 在客户端调用一点一点传...2`开个ftp在server上 客户端使用ftp命名空间操作上传.3`服务器开启个socket 客户端连接并且把文件转成byte发过去..至于压缩..我有一个疑问你为什么不直接压缩完了在上传呢?如果没有这个疑问  压缩也有第三方组件的..所以 在上面3个方法后面调用下 就行了.
      

  4.   

    向你的web服务器发送一个功能请求,你可以写var result = new WebClient().DownloadString("http://www.abc.com/site1/xyz.aspx?a=1&b=2");
    当然使用webClient().PostData(url,data) 方式传送一个 json 格式的复杂命令对象也可以。向你的web服务器发送一个文件,可以写new WebClient().UploadFile(url, file);同时在你的 url 中的一个参数上写明目标文件的路径(当然需要urlEncode编码)。其实很简单。关键是程序员需要有最基本的逻辑设计能力,也就是至少要画出一个流程图的能力,而不是简单地抄别人几个语句。
      

  5.   

    接收一个Http Get访问,获取QueryString参数,获取Request.InputStream 流中的 json 字符串并且反序列化一个 .net 自定义命令对象,获取 Files 中提交的文件,你去问任何一个asp.net程序员。
      

  6.   

    考虑“压缩整个目录”貌似挺厉害,其实细想想往往这是不可取的。这是因为,这种像“太技术化”,而不是从前端设计出发的。如果兼顾前端表现去设计,那么就不会那样去搞。c/s程序在传送时需要给用户一个反馈,让用户看到什么正在创建目标目录、正在上传什么文件、正在创建子目录,正在上传子目录的什么文件、刚刚传完所有文件。每一秒钟(或者几秒钟)就需要有一次反馈。另外在传送时,例如 TeamViewer,它不是没头没脑地上传文件,它会先到服务器上判断一下有没有相同内容的文件。如果服务器上已经有相同的文件(或者别的目录下有相同内容签名的文件则可以直接在服务器端copy),则直接跳过这个文件传送。