Как загрузить изображение размером более 2 МБ через мой API

1

Я разрабатываю 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>

Скриншоты: Изображение 174551

  • 0
    Вы используете nginx или Apache? если это nginx, вам нужно убедиться, что nginx может обрабатывать количество отправленных вами данных.
  • 0
    @zaherg Я использую Amazon EC2 Linux, Apache. Apache/2.4.16 (Amazon) OpenSSL/1.0.1k-fips PHP/5.6.14
Теги:
laravel-4

2 ответа

2
Лучший ответ

Вам нужно изменить свои настройки 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>
  • 0
    Просто напишите выше строки после RewriteEngine на
  • 0
    У вас есть файл .htaccess в вашем проекте?
Показать ещё 6 комментариев
1

Проверьте файл php.ini. Вы можете отредактировать настройки php.ini для

upload_max_filesize = 8M 
post_max_size = 8M

Или вы можете использовать

ini_set('upload_max_filesize', '8M');

  • 0
    что насчет htaccess? как мне это сделать в htaccess?
  • 0
    Вы можете написать "php_value upload_max_filesize 30M"
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню