如何使用 PHP 从原始多部分/混合 POST 请求访问附件?

我有一个 API 端点,它接收一个多部分/混合 POST。内容是一个 XML 文件和一个 PDF 作为附件。我能够将 2 部分与原始请求数据分开,并且可以提取和解析 XML。

如何访问 PDF 附件?或者,我的尝试是否是正确的方法,而我在该逻辑上有错误?(如果需要,我可以发布这部分代码)


回首忆惘然
浏览 134回答 1
1回答

子衿沉夜

这个问题是我想多了;解决方案比我最初的尝试简单得多。我将通过 http POST 请求发送到我的应用程序的部分分隔为 $blocks[](使用 Content_Type 标头中发送的边界分隔)我遍历 $blocks[] 并通过查看前几个字节来处理每种类型。对于我使用的 PDF 块,preg_match('/(%PDF.*)/s', $block, $matches);然后将 $matches[1] 的内容写入文件。这是编写 PDF 的代码块://get the filenamepreg_match('/filename=\"(.*)/', $block, $matches);$filename = $matches[1];$filename = rtrim(trim($filename), '"');preg_match('/(%PDF.*)/s', $block, $matches);$PDFDecoded = $matches[1];$directory = 'path/to/store/PDFs';$PDFfile = $directory . $filename;$pdf = fopen($PDFfile, 'w'); //if you are on Windows, you may need 'wb'fwrite($pdf, $PDFDecoded);fclose($pdf);我希望这可以帮助别人。
打开App,查看更多内容
随时随地看视频慕课网APP