nginx image server

其他类别 2025-07-28

nginx-image-server

使用NGINX和FASTCGI脚本上传,下载和删除图像的Web服务器

启动服务器

通过docker-compose命令运行媒体服务容器。 8888端口允许您访问媒体服务器进程。

在第一次运行中,在构建图像后,输入命令中的添加docker-compose up --build以运行容器。

$ cd common
$ cd MediaService
$ docker-compose up --build # 최초 실행 시 --build 옵션 추가

如果您有现有图像,则可以通过docker-compose up运行。

$ cd common
$ cd MediaService
$ docker-compose up

端口更改

如果要更改媒体服务端口,请更改.env文件的MEDIA_PORT端口值。

API呼叫

发布图像/上传

请求上传图像。

要求

  • 请求标题
    • Content-Typemultipart/form-data
  • 请求身体
    • 图像要上传

回复

  • 正常处理

    {
        "code" : 200 ,
        "message" : " File(s) successfully uploaded. " ,
        "data" : {
            "file_name" : " bts_jk.gif " ,
            "file_id" : " b7436194d5034bb69767688807393e48 "
        }
    }
  • 错误

    • 当未发送图像时

      • 如果身体为空:Nginx 400不良请求

         < html >
        
        < head >
          < title > 404 Not Found  title >
         head >      
        < body >
          < center >
            < h1 > 404 Not Found  h1 >
           center >
          < hr >
          < center > nginx/1.20.2  center >
         body >
        
         html >
      • 如果有尸体但没有文件类型

        {
            "code" : 400 ,
            "message" : " No file received. "
        }
    • 如果您要上传的图像文件的大小太大:nginx 413请求太大错误

       < html >
      
      < head >
        < title > 413 Request Entity Too Large  title >
       head >
      
      < body >
        < center >
          < h1 > 413 Request Entity Too Large  h1 >
         center >
        < hr >
        < center > nginx/1.20.2  center >
       body >
      
       html >
    • 如果上传了几张图像

      {
          "code" : 400 ,
          "message" : " Multiple file upload not allowed. "
      }
    • 如果不允许上传的图像

      {
          "code" : 400 ,
          "message" : " File extension of file webp_jk.webp not allowed. "
      }

发布图像/upload_many

请求图像多重上传。

要求

  • 请求标题
    • Content-Typemultipart/form-data
  • 请求身体
    • 要上传的图像

回复

  • 正常处理

    {
        "code" : 200 ,
        "message" : " File(s) successfully uploaded. " ,
        "data" : [
            {
                "file_name" : " jpeg_jk3.jpg " ,
                "file_id" : " b3b2bc5b075f434692f71657afbae2c9 "
            },
            {
                "file_name" : " png_jk.png " ,
                "file_id" : " 20995dfcf94a49e7b6d34ccce744609c "
            },
            {
                "file_name" : " png_bts.png " ,
                "file_id" : " 9d15ce7799dd499181bbc8cace4761b7 "
            },
            {
                "file_name" : " jpg_cat.jpg " ,
                "file_id" : " 5fd0f71238ed4086b9bb58859ac3b271 "
            }
        ]
    }
  • 错误

    • 当未发送图像时:发布图像/上传

    • 如果上传一张图像

      {
          "code" : 400 ,
          "message" : " Single file upload not allowed. "
      }
    • 如果上传的图像之一是不允许的扩展名

      {
          "code" : 400 ,
          "message" : " File extension of file webp_jk.webp not allowed. "
      }
    • 如果您要上传的图像文件的大小太大:nginx 413请求太大错误

       < html >
      
      < head >
        < title > 413 Request Entity Too Large  title >
       head >
      
      < body >
        < center >
          < h1 > 413 Request Entity Too Large  h1 >
         center >
        < hr >
        < center > nginx/1.20.2  center >
       body >
      
       html >

获取图像/:image_id

请求图像文件。

  • 错误

    • 如果没有图像文件,您想找到

       < html >
      
      < head >
      	< title > 404 Not Found  title >
       head >
      
      < body >
      	< center >
      		< h1 > 404 Not Found  h1 >
      	 center >
      	< hr >
      	< center > nginx/1.20.2  center >
       body >
      
       html >

发布图像/删除/:image_id

请求删除图像文件。

  • 正常处理

    {
        "code" : 200 ,
        "message" : " File 20995dfcf94a49e7b6d34ccce744609c successfully deleted. "
    }
  • 错误

    • 如果没有要删除的图像文件

      {
          "code" : 400 ,
          "message" : " File 20995dfcf94a49e7b6d34ccce744609c does not exists. "
      }
下载源码

通过命令行克隆项目:

git clone https://github.com/sirzzang/nginx-image-server.git