EWS 1.2 api、exchange 2007、windows/.net 和 linux/mono2.10.2
使用 EWS 1.2 api 从交换中提取附件在 .net/windows 上与在 mono/linux 上给出不同的结果。
文件在字节 8192、16384、20480 处不同
所以首先在 8k 块之后,然后在下一个 8k 块之后,然后再在 4k 块之后?!
fileAttachment.Load();
byte[] buffer = fileAttachment.Content;
Console.WriteLine(buffer[8191]); //windows -> 50 | linux -> 50
Console.WriteLine(buffer[8192]); //windows -> 9 | linux -> 59
Console.WriteLine(buffer[8193]); //windows -> 54 | linux -> 44
我把
service.TraceEnabled = true;
所以我可以看一下肥皂信息。在那里我找到了一个base64字符串的内容。我用这个在线base64解码器在线转换了base64字符串,附件完美返回。
使用 EWS API 时,Linux 上的缓冲区大小比 Windows 上的小。
所以转换base64字符串linux/mono一定有问题!?