gpt4 book ai didi

php - 通过 PUT 方法上传 Symfony REST 文件

转载 作者:可可西里 更新时间:2023-10-31 23:47:57 24 4
gpt4 key购买 nike

我有一个 REST 服务,我想通过 PUT 更新文件。当我使用 POST 时,我使用以下方法获取上传的文件:

/**
* @var Request $request
*/
$request->files->get('file');

如何在 Symfony 框架中将上传的文件作为 PUT 发送?

最佳答案

当您收到 POST 请求时,您会收到一个提交的表单,其中包含一个或多个字段,这些字段包括任何文件(可能不止一个文件)。 Content-Typemultipart/form-data

当您 PUT 文件时,文件的数据请求主体。这就像使用 GET 下载文件相反,文件的内容是响应主体。在这种情况下,如果您通过 PUT 请求接收 JPG 文件,Content-Type 将为 image/jpeg。当然,这意味着您只能通过每个 PUT 请求提交一个文件。

因此,您应该使用 $request->getContent() 来接收数据。如果内容除了提交的文件之外还有其他信息,那么从技术上讲,它是一个格式错误的 PUT 请求,可能应该作为 POST 发送。

虽然您不能通过 PUT 请求发送任何其他字段,但您仍然可以使用查询字符串在适当的地方提供一些额外的短字段。例如,您可以通过 PUT 请求将文件上传到 /api/record/123/attachment?filename=example.pdf。这将允许您接收上传的文件、另一个数据字段(文件名)和要附加上传的记录的 ID (123)。

关于php - 通过 PUT 方法上传 Symfony REST 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com