最近有用到一种场景:C#写的客户端要调用JAVA写的WebService,客户端打开一个zip压缩包,通过调用WebService提供的接口,比如unzip(byte[] data),实现解压缩,请问C#端如何传递?比如:
       zip压缩包为:  1.zip
Webservice只提供unzip函数,不知道实现细节。如何从1.zip获得byte[]字节流作为参数赋给unzip()函数?
我用如下代码不行啊,JAVA端无法实现解压缩,函数报错:FileStream file;
file = File.Open("1.zip", FileMode.Open);
byte[] buffer = new byte[file.Length];
file.Read(buffer, 0, buffer.Length);
file.Close();//...
//这里调用unzip(buffer)
代码类似上述,问题出在哪里呢?是C#到JAVA的byte[]字节流不同还是压缩与解压缩机制不同?还是什么?跪求大神莅临指导跨平台webservicec#压缩java

解决方案 »

  1.   

    没有传回来啊,类似的那些操作,可以保存在服务器端也可以进行其他操作,然后返回操作结果给客户端
    就是不知道C#和JAVA之间那样传递zip压缩包的byte[]字节流是否正确
      

  2.   

    这个简单,用ultraedit打开一个zip文件
    发送这个文件
    在byte[] buffer = new byte[file.Length];下断点,看读到的字节是否和你在ultraedit中的一致。
    在java端一样的调试,看接收的文件对不对。