Назад | Перейти на главную страницу

Как конвертировать файлы в формат jpg в nginx?

Я только что настроил загрузку nginx с помощью nginx_upload_module со следующей конфигурацией:

location = /upload {

    # backend upload_endpoint
    upload_pass @upload_endpoint;

    upload_store /var/uploads 1;

    # Set specified fields in request body
    upload_set_form_field           file[name]          "$upload_file_name";
    upload_set_form_field           file[content_type]  "$upload_content_type";
    upload_set_form_field           file[path]          "$upload_tmp_path";

    # Inform backend about hash and size of a file
    upload_aggregate_form_field     file[md5]           "$upload_file_md5";
    upload_aggregate_form_field     file[size]          "$upload_file_size";

    # remove the uploaded files if backend returns one of these HTTP status codes
    upload_cleanup 400-599;
}

# Backend file handling after uploading
location @upload_endpoint {
    internal;

    proxy_set_header    X-Real-IP                           $remote_addr;
    proxy_set_header    X-Forwarded-For                     $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Proto                   $scheme;
    proxy_set_header    Host                                $http_host;
    proxy_http_version  1.1;
    proxy_redirect      off;
    proxy_pass          http://upstream;
}

Итак, все мои загруженные файлы выглядят как /var/uploads/00000x (x is a digit). Мне нужно преобразовать все входящие изображения в формат jpg. Можно ли сделать это через построение функциональности nginx?