pensiero/image-uploader

图片上传和缩放工具

v0.1.0 2017-02-14 16:41 UTC

This package is not auto-updated.

Last update: 2024-09-14 20:04:14 UTC


README

基于API的服务,允许保存、缩放和读取图片

特性

  • 在文件系统中保存
  • 在AWS中保存
  • 添加验证器的可能性
  • 添加过滤器的可能性
  • PHP7严格模式
  • 与公共Postman集合链接
  • 单元测试
  • 在Packagist(composer)上提交
  • 在某处托管演示
  • 通过API保护认证令牌

配置

允许的环境变量

  • SAVE_HANDLER: (filesystem|aws) 其中您将保存图片
  • AWS_ACCESS_KEY_ID:
  • AWS_SECRET_ACCESS_KEY:
  • AWS_REGION:
  • AWS_BUCKET:
  • OPTIMIZE: (0|1) 去除EXIF数据以减小图片大小
  • MAX_DIMENSIONS: (例如:4096x4096) 允许的最大尺寸
  • MAX_SIZE: (例如:10240) 允许的最大大小(kb)
  • ALLOWED_DIMENSIONS: (例如:1400x460;1280x460;800x600) 请求之前上传的图片缩放版本时允许的尺寸

通过API使用

Run in Postman

为了接收JSON响应,您应该添加以下头信息

  • Content-Type: application/json
  • Accept: application/json; charset=utf-8

我们假设您已将此应用程序上传到 theappleisonthetable.com

GET https://theappleisonthetable.com/

返回先前上传的图片信息

参数

  • id: (可选: 整数) 之前上传的图片ID

示例GET数据:{}

示例响应

  {
    "ping": "pong"
  }

示例GET数据:{"id": "5897209a9325f7-78554697"}

示例响应

  {
    "status_code": 200,
    "id": "5897209a9325f7-78554697",
    "url": "http://image-uploader.dev/i/5897209a9325f7-78554697_0_0.jpg",
    "url_dynamic": "http://image-uploader.dev/i/5897209a9325f7-78554697_#WIDTH#_#HEIGHT#.jpg",
    "width": null,
    "height": null
  }

POST https://theappleisonthetable.com/

上传图片

参数

  • source: (必需: url|base64字符串|上传的文件) 您可以发送远程url,一个图像base64编码(JSON中无换行符)或上传一个文件(参见public/upload.php中的示例)
  • width: (可选: 整数) 如果指定,原始图片将在上传之前缩放到指定的宽度
  • height: (可选: 整数) 如果指定,原始图片将在上传之前缩放到指定的高度

注意:如果您只指定了widthheight参数,图片将按比例缩放

示例POST数据:{"source": "...非常长的base64字符串..."}

示例响应

  {
    "status_code": 200,
    "id": "5898c96c4a2d62-52410036",
    "url": "http://image-uploader.dev/i/5898c96c4a2d62-52410036_0_0.jpg",
    "url_dynamic": "http://image-uploader.dev/i/5898c96c4a2d62-52410036_#WIDTH#_#HEIGHT#.jpg",
    "width": null,
    "height": null
  }

演示

托管中...

示例

如果您想直接在您的应用程序中使用Image对象(而不是作为一个独立的API服务),您可以在public/examples目录中找到一些示例。