Giter Club home page Giter Club logo

qiniu's Introduction

Qiniu

Build Status Coverage Status Inline docs hex.pm version

Qiniu sdk for Elixir

Installation and config

  • Add qiniu as dependence and application
# mix.exs
def application do
  [applications: [:qiniu]]
end

defp deps do
  [{:qiniu, "~> 0.3.0"}]
end

Then run $ mix deps.get

  • Config the Qiniu API keys
# config/prod.secret.exs (You'd better not add this file to git)
config :qiniu, Qiniu,
  access_key: "key",
  secret_key: "secret"

Usage

Upload

Get the token for uploading

policy = Qiniu.PutPolicy.build("scope")
uptoken = Qiniu.Auth.generate_uptoken(policy)

Upload a local file in server

put_policy = Qiniu.PutPolicy.build("books")
Qiniu.Uploader.upload put_policy, "~/cool.jpg", key: "cool.jpg"

Chunked upload

put_policy = Qiniu.PutPolicy.build("books")
Qiniu.ChunkUpload.chunk_upload put_policy, "~/cool.jpg", key: "cool.jpg"

Download

Get the authorized download url

Qiniu.Auth.authorize_download_url(url, 3600)

Media Processing

AV transcoding

Qiniu.Fop.AV.trans_fops([avthumb: "mp4", s: "640x360", saveas: "bucket1:test.mp4"])

See the doc for other features

TODO

There're many small features, implements of which are bothering. And some of them seem not very useful. So I don't plan to implement all of them until I find some useful. You can create issues when you need some features or just implement them by yourself.

  • Uploading
    • 直传文件(upload)
    • 创建块(mkblk)
    • 上传片(bput)
    • 创建文件(bput)
  • Resource management
    • 获取资源信息(stat)
    • 复制资源(copy)
    • 移动资源(move)
    • 删除资源(delete)
    • 批量操作(batch)
    • 列举资源(list)
    • 抓取资源(fetch)
    • 更新镜像资源(prefetch)
    • 修改元信息(chgm)
  • Data handling
    • Image
      • 图片基本信息(info)
      • 图片EXIF信息(exif)
      • 水印(watermark)
      • 图片主色调(avg_hue)
    • 资源下载二维码(qrcode)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.