Я разрабатываю API, используя Laravel 4.2. Использование Postman для проверки моих методов.
Загрузка изображения через API не может получить никакого ответа из-за размера.
Когда я загрузил image.icon, он успешно возвращается.
Но когда я делаю image.jpg (размер: 2 МБ), он возвращается: Could not get any response
Не было никакого кода, такого как 400, 401 и т.д.
Информация о PHP:
max_execution_time 10000
max_file_uploads: 20
max_input_nesting_level: 64
max_input_time: 60
max_input_vars: 1000
memory_limit: 1024M
post_max_size: 5000M
upload_max_filesize 5000M
Код:
$attachment = Input::file('attachment');
Как загрузить изображение размером более 2 МБ?
.htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
php_value post_max_size 200M
php_value upload_max_filesize 200M
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
LimitRequestBody 102400
</IfModule>
Скриншоты:
Вам нужно изменить свои настройки PHP, чтобы можно было добавлять большие загрузки. У PHP есть ограничения на них по нескольким вещам. Размер POST, размер загрузки и т.д.
ПРИМЕЧАНИЕ: post_max_size
должен быть больше, чем upload_max_filesize
.
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 125M
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 100M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
Через.Htaccess
Вы также можете увеличить ограничение загрузки файлом.htaccess: -
Напишите эти строки после RewriteEngine on
php_value post_max_size 200M
php_value upload_max_filesize 200M
В вашем случае,
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
php_value post_max_size 200M
php_value upload_max_filesize 200M
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
LimitRequestBody 102400
</IfModule>
Проверьте файл php.ini. Вы можете отредактировать настройки php.ini для
upload_max_filesize = 8M
post_max_size = 8M
Или вы можете использовать
ini_set('upload_max_filesize', '8M');
Apache/2.4.16 (Amazon) OpenSSL/1.0.1k-fips PHP/5.6.14