在 PHP 服务 multipart/form-data 文件中创建 JSON API

Create a JSON API in PHP Serving multipart/form-data File

我想创建一个 Streaming PHP API 发送 JSON 个文件(而不是字符串)。

这里给出:

我应该如何在 PHP 中构建我的 HTTP Headers、JSON 内容等以将 JSON 作为文件而不是字符串来制作它是流媒体服务器吗?

我创建了一个服务于 multipart/form-data 的虚拟服务器,前端将文件下载为一个字符串,文件名称为 file.php

<?php
header('Content-Type: multipart/form-data');
echo file_get_contents('file.json'); // 49 MB file

前端采集完multipart/form-data后,应该将JSON字符串采集为流,并转化为JSON对象,像这样:

const jsonData: string[] = []

// Stream and parse the data inside JSON
const stream = streamableResponse.nodeStream()

// Collect all json string
stream.on('data', (chunk) => {
  jsonData.push(chunk)
})

// Handle error of JSON stream
stream.on('error', (error) => {
  logger.error(`An error occured when getting the file contents for ${fileName}`)
  logger.error(error)
})

// Wait for the stream to finish
stream.on('end', async () => {
   const data = JSON.parse(jsonData)
   console.log(data) // Process object data
}

上面的代码首先将 HTTP 响应收集为字符串,然后再将其转换为已解析的 JavaScript 代码。