这个CheckFileInfo服务需要返回一个JSON字符串,格式举例如下:
{
"BaseFileName": "Sample Document.docx", // 文件名,不带路径
"OwnerId": "tylerbutler", // 可以是任意字符串
"Size": 300519,// 文件大小
"SHA256": "+17lwXXN0TMwtVJVs4Ll+gDHEIO06l+hXK6zWTUiYms=", // 文件SHA256值,也可以不返回
"Version": "GIYDCMRNGEYC2MJREAZDCORQGA5DKNZOGIZTQMBQGAVTAMB2GAYA===="// 文件版本,也是可以用自定义字符串
}
遇到的问题是这个SHA256的值怎么整也不对,不过最后还是搞定了,需要先用MessageDigest的SHA256编码,然后用Base64编码就OK了,具体代码如下
byte[] filebyte = getFileByte();// 获取文件byte数组
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(filebyte);
byte[] mdbyte = md.digest();
String result = Base64.encodeBase64String(mdbyte);