PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-使用JSON发送二进制文件内容大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我为我自己的Cloud应用程序编写了REST界面.我有方法getFileFromRemote($path),该方法应返回带有文件内容JSON对象.
不幸的是,这仅在$path中指定的文件是纯文本文件时有效.当我尝试为图像或PDF调用方法时,状态代码为200,但响应为空.为了返回文件内容,我使用file_get_contents来检索内容.

注意:我知道ownCloud具有WebDAV接口,但是我只想使用REST解决此问题.

编辑
这是代码服务器端(ownCloud):

public function synchroniseDown($path)
{
    $this->_syncService->download(array($path));//get latest version
    $content = file_get_contents($this->_homeFolder.urldecode($path));
    return new DataResponse(['path'=>$path, 'fileContent'=>$content]);
}

第一行检索将内容下载到ownCloud服务器上,并且可以正常工作.

解决方法:

您可能必须对文件内容进行base64_encode才能使json_encode / decode正确处理它:

return new DataResponse([
    'path'=>$path,
    'fileContent' => base64_encode($content)  // convert binary data to alphanum
]);

然后通过第二面接收文件时,您将必须始终:

$fileContent = base64_decode($response['fileContent']);

它只是其中一种,但是是处理该问题的最简单方法.顺便说一句,迟早您会发现Mime-Type在响应中会很有用.

大佬总结

以上是大佬教程为你收集整理的php-使用JSON发送二进制文件内容全部内容,希望文章能够帮你解决php-使用JSON发送二进制文件内容所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: