【问题标题】:PHP: Transfer images as binary in JSONPHP:以 JSON 格式将图像传输为二进制文件
【发布时间】:2023-03-12 04:35:01
【问题描述】:

大家好,

我需要将大量文件从一台服务器传输到另一台服务器,作为我正在构建的应用程序的一种“更新/重新安装过程”。

到目前为止,文件已由主服务器通过 FTP 推送。这很好用,但我想摆脱存储客户端的 FTP 信息,并希望将推送方法转换为拉取方法。所以客户端点击“更新”,客户端服务器接收文件。

我一直在研究 Phar、Zip 和其他打包文件的方式,但它们需要扩展,我希望我的应用程序至少尽可能依赖扩展。

所以我求助于使用 JSON 传输文件。主/源服务器将所有文件打包在一个 JSON 数组中,并根据请求将其发送到客户端服务器,客户端服务器循环访问文件并保存它们。它适用于 PHP、JavaScript 等,但在此过程中某些图像已损坏。

我怀疑这是因为数据是作为 ASCII 而不是二进制传输的,因为我在使用 FTP 构建安装时遇到了同样的问题,当我转向二进制传输而不是 ASCII 时,图像没有损坏时间更长。

这里有人有解决方案来使图像传输不受损坏吗? 我使用file_get_contents,在其他项目中也使用过,打开和保存图片数据,所以我知道这个函数可以处理。我怀疑 JSON 需要做一些额外的编码或类似的事情才能正确传输图像内容?

提前致谢

【问题讨论】:

    标签: php json ftp binary ascii


    【解决方案1】:

    试试base64。这是用php传输二进制数据最简单的方法。

    【讨论】:

      猜你喜欢
      • 2016-10-29
      • 2017-10-02
      • 2012-03-08
      • 2016-05-15
      • 2010-12-06
      • 2011-12-09
      • 2013-10-13
      • 1970-01-01
      • 2013-12-22
      相关资源
      最近更新 更多