我使用Symfony来收集REST,并且一直得到一个空上传文件的例外。在每天拥有大约5000名用户的应用程序中,这种情况每天大约发生5-10次。
以下是有关守则:
$receipt = $request->files->get('receipt');
if (!$receipt || !($receipt instanceof UploadedFile) || !$receipt->isValid()) {
throw new \Exception('No uploaded receipt image. Maybe the image is too large?');
}我已经将upload_max_filesize和post_max_size增加到一个非常高的值,但是错误仍然发生。我注意到用户代理总是“奇怪”的:
User-Agent: myappname/104 CFNetwork/808.0.2 Darwin/16.0.0其中myappname是我的移动应用程序的名字(只有最后一部分,没有com.mycompany.myappname)。是仿真器还是黑客攻击?
发布于 2018-01-04 16:15:46
如果upload_max_filesize大于post_max_size,则增加post_max_size,则upload_max_size越大,如果post_max_size值大于memory_limit,那么增加memory_limit就越大,post_max_size越大。如果仍在发生,则如果前端和后端位于单独的域用户"Nelmio CORS“设置中,则尝试使用ip或域限制您的REST APIs。
# Nelmio CORS
nelmio_cors:
defaults:
allow_origin: ["%cors_allow_origin%"]
allow_methods: ["POST", "PUT", "GET", "DELETE", "OPTIONS"]
allow_headers: ["content-type", "authorization"]
max_age: 3600
paths:
'^/': ~通过使用composer安装nelmio/cors-bundle或类似的。
https://stackoverflow.com/questions/48097043
复制相似问题