我有一个 API 端点,它接收一个多部分/混合 POST。内容是一个 XML 文件和一个 PDF 作为附件。我能够将 2 部分与原始请求数据分开,并且可以提取和解析 XML。如何访问 PDF 附件?或者,我的尝试是否是正确的方法,而我在该逻辑上有错误?(如果需要,我可以发布这部分代码)
1 回答
子衿沉夜
TA贡献1828条经验 获得超3个赞
这个问题是我想多了;解决方案比我最初的尝试简单得多。
我将通过 http POST 请求发送到我的应用程序的部分分隔为 $blocks[](使用 Content_Type 标头中发送的边界分隔)
我遍历 $blocks[] 并通过查看前几个字节来处理每种类型。
对于我使用的 PDF 块,preg_match('/(%PDF.*)/s', $block, $matches);然后将 $matches[1] 的内容写入文件。
这是编写 PDF 的代码块:
//get the filename
preg_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);
我希望这可以帮助别人。
- 1 回答
- 0 关注
- 133 浏览
添加回答
举报
0/150
提交
取消