日期:2014-05-17  浏览次数:21126 次

C#和JAVA跨平台传递zip压缩包
最近有用到一种场景: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[]字节流不同还是压缩与解压缩机制不同?还是什么?跪求大神莅临指导。。。
跨平台 webservice c# 压缩 java

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

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