Laravel图像确认无法识别mime类型

n7taea2i  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(150)

我正在创建一个POST请求并验证image type。即使我正在jpeg中上传图像,但laravel仍然抛出{"message":"The photos must be a file of type: jpeg, jpg, png.","errors":{"photos":["The photos must be a file of type: jpeg, jpg, png."]}}

** Postman 要求**

原始HTTP

POST /api/post-images/1 HTTP/1.1
Accept: application/json
User-Agent: PostmanRuntime/7.30.0
Cache-Control: no-cache
Postman-Token: b1e038d0-f45c-4b30-80fa-519e7ee889be
Host: 127.0.0.1:8001
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Type: multipart/form-data; boundary=--------------------------910604336807163263477889
Cookie: XSRF-TOKEN=eyJpdiI6IisvNFpGSDluSVhiQWNHOStSdkhqc1E9PSIsInZhbHVlIjoiWS9HYzlrOGlvUmkveTdXVHl0dHU5QlJPWWg4YngvcFJNTlZEU1VkSTh2OGNvZUYxS2lUVTNMeERiOHlXSkZlNzlYQm9WaWdkbE5rK2ZrdnJnbkdKcElDU2l4TkIxZkxmZlNsa2VMODExOTI5d2VrTnBiekFzM0lQVmFRMzJYQWQiLCJtYWMiOiI5MmZmM2Y4ZDZiNDhlNGFiMjFjYjNhMzE4NGRiY2FmMzVmZDM5YjJhZDc3NjlhNmI4YzRmN2M1ZDg3OGQ5NDNkIiwidGFnIjoiIn0%3D; reedius_session=eyJpdiI6IjBOc0t4aXVtdlh5Njh5bk1MeUpIVkE9PSIsInZhbHVlIjoibVpqb1UyNDBjdi93THY0WXBLUHBWdFNxajFJVGdpdzd2YzBhLy9veWxoZDI3aHd6WlFnZS9PVW9lQW9pTUYvdy9OekpkdGdTZC9vYXhHNVB5c3BuMzNsc2lxWWNOQVZxUGZGWDlybkwzR21KMHhsUm1nTHI0WlhPSlI5ZVdlNzUiLCJtYWMiOiJjZTAwNmI3M2JjNTE2MDZjNGQ2MzNkMzYxNDNlMDdmZTQ0YmZjOWQyN2NjOTk5NGQ1YWI2MjRmYTc3YTQzOWYxIiwidGFnIjoiIn0%3D
Content-Length: 47468
 
----------------------------910604336807163263477889
Content-Disposition: form-data; name="photos[]"; filename="1671088347729.JPEG"
<1671088347729.JPEG>
----------------------------910604336807163263477889--

Laravel验证规则

public function rules()
{
    return [
        'photos' => ['required', 'mimes:jpeg,jpg,png', 'max:5']
    ];
}
mspsb9vt

mspsb9vt1#

如果filemultiple的类型,则使用'photos.*'而不是'photos'来检查mime type

public function rules()
{
    return [
        'photos' => ['required', 'array', 'max:5'],
        'photos.*' => ['mimes:jpeg,jpg,png']
    ];
}

相关问题