Laravel/Guzzle - POST 二进制文件内容

2024-03-23

我正在尝试向第 3 方 API 发出简单的 POST 请求。 API 接受文件作为 BODY 参数。具体来说,文件内容必须是二进制的:

我已使用 Postman 成功发布到此第 3 方 API,主体配置如下:

上传文件时,我使用的是 Laravel。这是代码:

//$document is a class of "UploadedFile"
$tempfile = Storage::disk('local')->putFile('/temp', $document);

然后我只是尝试使用 Guzzle 发布此文件:

use Illuminate\Support\Facades\Http;

$filepath = storage_path('app/' . $tempfile);
$post = Http::attach('file', file_get_contents($tempfile), 'myfile.pdf')->post('example.org')->json());

但是,第 3 方 API 无法将其识别为 PDF 文件:

内容类型必须是 application/vnd.hypatos.ocr+json application/pdf image/tiff image/jpeg image/png text/xml application/xml 之一

与我在邮递员中发送的请求相比,我做错了什么?这与我尝试发布到 API 的文件完全相同。


您是否尝试过指定您的Content-Type在你的请求标头中,像这样

Http::attach('file', file_get_contents($tempfile), 'myfile.pdf')->withHeaders([
    'Content-Type' => 'application/pdf',
])->post('example.org')->json();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel/Guzzle - POST 二进制文件内容 的相关文章

  • 向 tk103 GPS 跟踪器发送命令

    我正在使用 php 开发实时 GPS 跟踪器 Web 应用程序 跟踪器参考号是tk103 我可以从跟踪器接收信息并将其存储到数据库中 设备的 GPRS 模式已启用 我的问题是 如何使用 php ini 将命令从服务器发送到设备 提前致谢 这
  • 关闭旧的 php websocket

    我在用PHP Websockets https github com ghedipunk PHP Websockets创建一个简单的聊天服务器 当我第一次运行在我的服务器上创建 websocket 的 php 脚本时 一切正常 如果脚本由于
  • 如何测试“If-Modified-Since”HTTP 标头支持

    使用 PHP 如何准确测试远程网站supports If Modified Since HTTP 标头 据我所知 如果您获取的远程文件自标头请求中指定的日期以来已被修改 它应该返回 200 OK 状态 如果尚未修改 则应返回 304 Not
  • 在仅包含键的字符串的嵌套数组中查找值

    我有一个数组 其中包含一些设置 基本上如下所示 defaults array variable gt value thearray gt array foo gt bar myvar gt array morevars gt moreval
  • html 下钻下拉所选值未插入 MYSQL

    我有两个下拉列表 首先从数据库下拉填充 根据第一个下拉列表的选定值从数据库填充第二个下拉列表 document ready function c change function var c1 c selected text if c1 aj
  • 是否需要使用fetch_object或fetch_array?

    我最近发现我可以打印数据库中的结果而不使用mysqli fetch object功能 例如 假设我们有一个简单的 sql select 语句 可以使用如下所示的语句来执行 conn mysqli connect localhost root
  • 使用 PHP 将表单数据发送/发布到 URL [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个通过 POST 提交的表单 提交表单后我捕获变量 如何连接表单数据 然后将其 POST 到 url 然后重新定向到感谢页面 这不是确
  • 如何使用 Angular4 进行 Codeigniter 视图?

    首先 我的 PHP Codeigniter 项目当前在服务器上运行 然后我在服务器上安装了最新的 Angular4 CLI Typescript 但我不知道如何与Codeigniter项目集成 如何像 AngularJS 一样在 Codei
  • 提交表单后重定向是一个好习惯吗?

    我最近开始在提交网站上的某些表单 主要与购物车应用程序相关 后进行 header 重定向 到同一页面 以便用户不会通过刷新页面来执行意想不到的操作或者 后退 或 前进 并刷新页面 这是可以接受的做法吗 这是标准做法 称为redirect a
  • 将多个平台部署到 Elastic Beanstalk (PHP/Python)

    是否可以将多个平台部署到AWS 我有一个 PHP 应用程序 我还想运行一个小的 python 脚本 我看到 PHP 平台默认安装 Python 但是使用eb deployAWS 没有接听requirements txt并安装依赖项 我已经尝
  • Codeigniter 处理大文件时允许的内存大小耗尽

    我发布此内容是为了防止其他人正在寻找相同的解决方案 因为我刚刚在这个废话上浪费了两天时间 我有一个 cron 作业 每天使用一个非常大的文件更新数据库一次 使用以下代码 if handle fopen dirname FILE uncomp
  • 为什么 opcache 没有刷新?

    我用guzzlehttp guzzle封装在拉拉维尔 8 升级到后PHP 8 I get Symfony Component ErrorHandler Error FatalError Invalid opcode 117 2 0 in f
  • json_decode 返回 null 并带有不同的引号

    json decode foo bar true 这有效 但是这个返回NULL json decode foo bar true The json last error 输出4 JSON ERROR SYNTAX 我检查了以下问题的一些答案
  • 根据 WooCommerce 中的特定付款方式添加费用

    在 WooCommerce 中 我需要为特定支付网关申请自定义手续费 我这里有这段代码 如何向 WooCommerce Checkout 添加手续费 http www endocreative com add handling fee wo
  • 将文本中的所有 URL 替换为 PHP 中的可点击链接[重复]

    这个问题在这里已经有答案了 我有一个用 PHP 编写的 Web 应用程序 我想找到用户评论中的所有 URL 并将它们更改为可点击的链接 我搜索了很多网站和页面 找到了以下解决方案 不幸的是我没有再次找到它的参考链接 感谢其作者 该代码可以完
  • PHP写入文件时,如何使用现有文本在文件前面添加和追加文本?

    我正在使用 PHP 创建一个 xml 文件 这里有一些示例代码 myFile example file xml fh fopen myFile w while row mysql fetch array result stringData
  • 修复 PHP 中格式错误的 HTML?

    我正在根据用户提供的片段构建一个大型 HTML 文档 这些用户有以各种方式格式错误的烦人习惯 浏览器足够强大且宽容 但我希望能够验证并 理想情况下 修复任何格式错误的 HTML 如果可能的话 例如 td b Title b td 可以合理地
  • 使用单个查询和每用户密码盐进行用户登录

    我决定使用存储在数据库中的每用户盐来实现用户登录 盐作为密码的前缀 该密码使用 SHA 进行哈希处理并存储在数据库中 过去 当我不使用盐时 我会使用典型的方法 使用用户输入的用户名和密码来计算查询返回的行数 然而 对于每个用户的盐 您需要先
  • 将 foreach 与 SplFixedArray 结合使用

    看来我无法通过引用迭代 SplFixedArray 中的值 spl new SplFixedArray 10 foreach spl as value value string var dump spl Outputs Fatal erro
  • Codeception API 测试响应返回“N/A”

    我正在使用 Laravel 和 Codeception 作为测试框架编写 API 我无法让 Codeception 返回响应代码 我可以从 Codeception 获取响应代码 以及 JSON 响应 我编写了一个简单的测试来从 GET 请求

随机推荐

  • 在Linux中测量C程序缓存命中/未命中和CPU时间的最简单工具?

    我正在用 C 编写一个小程序 我想测量它的性能 我想看看它在处理器中运行了多少时间以及它进行了多少次缓存命中 未命中 有关上下文切换和内存使用情况的信息也很好 该程序的执行时间不到一秒钟 我喜欢 proc pid stat 的信息 但我不知
  • jQuery 不支持选择顶级节点文本?

    每当我需要顶级文本节点时 我必须写这个长故事吗 hello clone children remove end text 为什么没有原生函数支持呢 我不确定为什么没有本地支持 我想你可以把这行笨重的代码变成一个插件 一定有一个比我选择的更好
  • Spark:连接拒绝纱线上的 webapp 代理

    我在 docker 容器上使用 Spark 和 hadoop 我有 3 个容器主容器和 2 个从容器 一切工作正常 但我在运行任务时遇到 Spark 代理 Web 应用程序问题 我可以连接到yarn webapp 但nhttp 172 20
  • 如何将express添加到角度启动器中?

    我一直在使用 webpack 和 Angular 使用 webpack dev server 开发我的 angular2 应用程序 https github com AngularClass angular starter https gi
  • 使用变量定义数组的大小

    这在C语言中有效吗 include
  • Pony ORM 报告记录“在当前事务之外更新”,而没有其他事务

    代码很简单 如下 from pony orm import Required Set Optional PrimaryKey from pony orm import Database db session import time db D
  • 在C#中,将字符串解析为单个字符

    在 C 中 如何将字符串解析为单个字符 Given 词 太棒了 期望的结果 字母 0 W 字母 1 o 字母 2 n 字母 3 d 字母 4 e 字母 5 r 字母 6 f 字母 7 u 字母 8 l Char letters word T
  • TeraData SQL 中“TOP”和“SAMPLE”之间的区别

    TeraData SQL 中的 TOP 和 SAMPLE 有什么区别 它们是一样的吗 From 顶部与样本 http datawarehouse ittoolbox com groups technical functional terad
  • 带有 C++ 代码的 R 包安装失败,未创建 DLL

    我目前正在开发一个 R 包 它使用 C 代码并包含外部库 dlib boost 和小组开发的优化库 我们使用 Rcpp 来集成 R 和 C 但问题是该包总是无法编译 而且我发现的类似问题都对我不起作用 R CMD 检查生成的报告为 inst
  • 带有前缀的 DynamoDB 和 TableNameOverride

    我正在测试 DynamoDB 表 并希望使用前缀 dev 为生产和开发环境设置不同的表名称以进行开发 我做了这个测试来打印表名称 import com amazonaws services dynamodbv2 datamodeling D
  • SQLite数据库更新一行android

    我正在开发一个android应用程序 其中我需要根据某个where子句更新表中的列 下面是代码 public void updatethekeyofweeklycolumn String profilename String keystem
  • 失败的测试是否会导致持续构建失败?

    如果一个项目的测试作为构建计算机上构建过程的一部分执行 那么如果一组测试失败 整个构建是否应该失败 回答这个问题时应该考虑哪些因素 哪些测试失败重要吗 提出这个问题的背景信息 目前我正在开发一个项目NUnit http www nunit
  • C#中使用Open Xml SDK导出DataTable到Excel时指定编码格式

    我只是想使用 open xml 将数据表导出为 excel 参考了下面的方法 在 C 中使用 Open Xml SDK 将数据表导出到 Excel https stackoverflow com questions 11811143 exp
  • 如何在python中声明零数组(或特定大小的数组)[重复]

    这个问题在这里已经有答案了 我正在尝试构建计数直方图 所以我创建了桶 我知道我可以遍历并附加一堆零 即 buckets for i in xrange 0 100 buckets append 0 有更优雅的方法吗 我觉得应该有一种方法来声
  • 使用 GWT 平台将参数从一个演示者传递到另一个演示者

    我正在尝试将已加载到演示者上的参数传递给另一个演示者 例如来自某个客户端的汽车 最好的方法是什么 使用网守 有什么例子吗 PS 我将 DI 与 gin 和 GWT Platform 框架一起使用 如果应该在事件触发时加载演示者 您可以使用P
  • paypal 沙箱不工作[重复]

    这个问题在这里已经有答案了 我正在使用 PayPal 沙箱进行测试付款 自过去 3 4 个月以来 它运行良好 但我看到他们正在沙箱设计 管理测试电子邮件帐户的方式等方面进行更改 他们禁用了我的实际沙箱帐户 并要求我使用真实的 PayPal
  • 来自 Kafka 的 pySpark 结构化流不会输出到控制台进行调试

    下面是我的代码 我尝试了许多不同的选择变体 但应用程序运行 但没有显示每秒写入的消息 我有一个 Spark Streaming 示例 它使用 pprint 确认 kafka 实际上每秒都会收到消息 Kafka 中的消息采用 JSON 格式
  • PHP webdriver 等待 Ajax 完成执行

    只是想检查 ajax 是否不再执行 但是这方面的文档并不多 我找到的最接近的答案是 php webdriver selenium 等待ajax https stackoverflow com questions 45597877 phpwe
  • HTML5 是否意味着 JavaScript 的作用会减少?

    使用 HTML5 的浏览器是否会使用更少的 JavaScript jQuery 等并仅使用 HTML 来完成动画之类的事情 它会减少 Flash 对于 流畅 图形的需要吗 换句话说 既然 HTML5 已经到来 我花时间学习 jQuery 不
  • Laravel/Guzzle - POST 二进制文件内容

    我正在尝试向第 3 方 API 发出简单的 POST 请求 API 接受文件作为 BODY 参数 具体来说 文件内容必须是二进制的 我已使用 Postman 成功发布到此第 3 方 API 主体配置如下 上传文件时 我使用的是 Larave