[英]Passing both a file resource and a json body in a single HTTP POST request
我正在构建一个 REST API 并且我有一个端点,我需要传递一个文件资源和一个 JSON 主体。 显然我不能这样做:
You can only select one HTTP request method! You asked for both POST.
在 cURL 请求中,我收到了这个错误,我同时提供了表单字段和这样的正文:
curl -X POST "http://127.0.0.1/path" -F "resource=@img.jpg" -d "@requestBody.json"
如果我想让它工作,我需要将我的请求正文作为表单字段本身传递:
curl -X POST "http://127.0.0.1/path" -F "resource=@img.jpg" -F "myRequestBody=@requestBody.json;type=application/json"
问题是,为了得到这个,我需要使用file_get_contents()
function 然后 json 解码内容。 这不是一个很好的解决方案,而且似乎有点慢。 有更清洁的方法吗?
根据文件的大小,您可以 base64 对数据进行编码并将其包含在您的 JSON 有效负载中。
否则,您将需要使用Content-Type: multipart/form-data
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.