gpt4 book ai didi

php - 作为 web 服务响应的一部分传输 zip 数据/可逆 mb_detect_encoding

转载 作者:行者123 更新时间:2023-12-01 16:53:45 25 4
gpt4 key购买 nike

我有一个 PHP 网络服务,它当前返回一个 zip 存档作为其唯一输出。我正在使用 file_get_contents 从磁盘读取 zip 存档并将其作为响应的主体发回。

我希望它以 JSON 格式返回一些额外的元数据:

{
"generatedDate": "2012-11-28 12:00:00",
"status": "unchanged",
"rawData": <zip file in raw form>
}

与此服务对话的 iOS 应用程序将接收此响应,解析 JSON,然后将 zip 文件存储在本地以供自己使用。

但是,如果我尝试填充 file_get_contents 的结果进入 json_encode,它正确地提示该字符串不是 UTF-8 格式。如果我使用 mb_convert_encoding($rawData, 'UTF-8',
mb_detect_encoding($rawData, 'UTF-8, ISO-8859-1', true));
对其进行 UTF-8 编码,它会愉快地对其进行编码,但是我找不到在客户端上反转操作的方法(调用 [dataString dataUsingEncoding:NSUTF8StringEncoding] 然后将结果视为 zip 文件失败,并出现 BOM could not extract archive: Couldn't read pkzip local header

谁能建议一种在 JSON 响应中将原始数据 block 作为一个字段插入的好方法?

最佳答案

当然,如果您成功地将原始数据包含在 JSON 中,那么当您尝试解码 JSON 并且您用于解码的任何东西都无法处理原始数据时,您会在另一端遇到相反的问题?

相反,我建议您仅在响应正文中发送原始数据,并使用 header 发送元数据。

关于php - 作为 web 服务响应的一部分传输 zip 数据/可逆 mb_detect_encoding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13630522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com