【发布时间】:2018-04-19 03:51:56
【问题描述】:
在 C# (ASP.NET MVC) 中,我有一种方法可以打开一个文件并将所有文件内容放入字节数组中,如下所示:
byte[] bytes = File.ReadAllBytes(filename);
在 PHP 方面,我有从 C# 调用的 PHP Slim Framework API 方法,并且我执行了一个包含此文件字节数组的 POST JSON 对象 -> 它具有以下属性:
- myObjectId - int - 我的对象的 ID
- 文件名-字符串-文件名
- fileBytes - 数组 - 此文件的字节数组
您可以在此处获取此 JSON 内容的演示:https://justpaste.it/1d8jq
在 PHP 方面,我对收到的内容进行 json_decode:
$fileObject = json_decode($app->request->getBody());
我在成员中得到相同的字节数组:
$fileBytes = $fileObject->fileBytes;
现在的问题是如何将这个字节数组保存到 Word 文件中(它是一个 Word 文件)。我用了这个方法,它保存了,但是里面是一些非常奇怪的内容/奇怪的符号(不是原始内容)...
$binStr = '';
foreach ($fileBytes as $fileByte)
{
$binStr .= pack('i', $fileByte);
}
$binStr .= "\n";
$fileTemp = '/tmp/'.$filename;
file_put_contents($fileTemp, $binStr);
那么,我该如何正确保存这些字节(这个字节数组在 PHP 中具有与 C# 中相同的元素/整数 - 看起来它已正确发送))?
如果这很重要,C# 部分在 Windows Server 上,PHP 在 Linux/CentOS 服务器上。
【问题讨论】: