Ale*_*anz 7 php rest symfony fosrestbundle
我有一个 REST 服务,我想通过 PUT 更新文件。当我使用 POST 时,我使用以下内容来获取上传的文件:
/**
* @var Request $request
*/
$request->files->get('file');
Run Code Online (Sandbox Code Playgroud)
如何在Symfony Framework中将上传的文件作为PUT发送?
当您收到 POST 请求时,您会收到一份提交的表单,其中包含一个或多个字段,这些字段包括任何文件(可能不止一个文件)。是Content-Type。multipart/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)。
| 归档时间: |
|
| 查看次数: |
4563 次 |
| 最近记录: |