这是我的问题:我想获取一个文件并通过Web服务以Base64格式发送它。该Web服务还要求我获取文件的MD5校验和,并将其与文件一起发送。这样,它可以控制我是否正确发送文件。
我会得到文件的哈希值。直到它没事。 (我查看源代码和不同的MD5校验客户端工具)然后,当我将其转换为Base64并在那里发送时,另一方立即告诉我Hash是错误的。由于我正在与国家办公室打交道,因此无法迅速得到我的电话回复。我想知道在转换为Base64时哈希是否被破坏了。如果我这样做,你能控制代码吗?
非常感谢提前;
public static Base64Binary MakeBinary(String filePath) {
Base64Binary b64binary = new Base64Binary();
b64binary.setContentType("application/x-zip-compressed");
try {
File file = new File(filePath);
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum); //no doubt here is 0
//Writes len bytes from the specified byte array starting at offset off to this byte array output stream.
System.out.println("read " + readNum + " bytes,");
}
} catch (Exception ex) {
ex.printStackTrace();
}
byte[] bytes = bos.toByteArray();
b64binary.setValue(bytes);
} catch (Exception e) {
e.printStackTrace();
}
return b64binary;
}
答案 0 :(得分:0)
好的我与那些负责Web服务的人一起检查..这段代码没有任何问题。供您参考。非常感谢读者。