0

Giới thiệu Gem Cloudinay

1. Giới thiệu

Cloundinary là một dịch vụ điện toán đám mây cung cấp một giải pháp cho toàn bộ luồng quản lý hình ảnh của ứng dụng Web.

Dễ dàng tải các hình ảnh lên đám mây.Tự động thực hiện thay đổi kích thước hình ảnh thông minh, cắt và chuyển đổi mà không cần cài đặt bất kỳ phần mềm phức tập nào. Tích hợp hồ sơ Facebook hoặc Twitter lấy ra hình ảnh, trong bất kỳ kích thước và phong cách nào để phù hợp yêu cầu đồ họa trang web của bạn. Hình ảnh được liên tục cung cấp thông qua một CDN nhanh và nhiều hơn nữa.

Cloudinary cung cấp các API toàn diện và khả năng quản lý rất dễ dàng để tích hợp với bất kỳ ứng dụng web hiện có hoặc mới.

Cloudinary cung cấp các API URL và HTTP dựa trên việc có thể dễ dàng tích hợp với bất kỳ khung phát triển Web nào.

Đối với Ruby on Rails, Cloudinary cung cấp 1 GEM để đơn giản hóa việc tích hợp hơn nữa.

2. Setup

Để cài đặt Cloudinary của Ruby GEM, chạy:

$ gem install cloudinary

Nếu bạn sử dụng Rails 3.x hoặc cao hơn, sửa Gemfile của bạn, thêm dòng sau và chạy lệnh bundle install để cài đặt:

gem "cloudinary"

Nếu bạn muốn sử dụng module tùy chọn tích hợp upload hình ảnh với ActiveRecord sử dụng CarrierWave, cài đặt CarrierWave GEM:

gem "carrierwave"
gem "cloudinary"

Lưu ý: Gem CarrierWave phải được nạp trước Gem Cloudinary.

3. Sử dụng

Cấu hình

Mỗi yêu cầu để xây dựng 1 URL của 1 tài nguyên đám mây từ xa phải có các thiết lập thông số cloud_name. Mỗi yêu cầu API an toàn (ví dụ: tải ảnh lên, ....) phải có các thông số API_KEY và API_SECRET. Xem API, URL và định danh truy cập để biết thêm chi tiết.

Thiết lập các thông số cloud_name, api_key và api_secret có thể được thực hiện hoặc trực tiếp trong mỗi lần gọi đến một phương pháp Cloudinary hoặc bằng cách thiết lập trên toàn cầu sử dụng một tập tin cấu hình YAML.

Cloudinary tìm kiếm một tập tin tùy chọn đặt tên cloudinary.yml, mà phải được đặt trong thư mục config của dự án Rails của bạn. Nó chưa cài đặt cho mỗi môi trường triển khai của bạn. Bạn luôn có thể ghi đè lên các giá trị mặc định tại cloudinary.yml bằng cách thông qua các giá trị khác nhau trong các lần gọi Cloudinary cụ thể.

Bạn có thể tải về tập tin cấu hình cloudinary.yml tùy chỉnh bằng cách sử dụng giao diện quản lý tại : https://cloudinary.com/console/cloudinary.yml

Đi qua các thông số:

auth = {
    cloud_name: "somename",
    api_key:    "1234567890",
    api_secret: "FooBarBaz123"
}
Cloudinary::Uploader.upload("my_picture.jpg", auth)

Upload

Giả sử bạn có các thông số cấu hình Cloudinary của bạn được xác định (cloud_name, api_key, api_secret), tải lên Cloudinary là rất đơn giản.

Ví dụ sau đây đăng một ảnh định dạng JQG lên đám mây:

Cloudinary::Uploader.upload("my_picture.jpg")

Hình ảnh đăng tải được gán một ID được tạo ngẫu nhiên. Các hình ảnh có sẵn ngay để tải về thông qua một CDN:

cl_image_tag("abcfrmo8zul1mafopawefg.jpg")
http://res.cloudinary.com/demo/image/upload/abcfrmo8zul1mafopawefg.jpg

Bạn cũng có thể chỉ định public ID của riêng bạn:

Cloudinary::Uploader.upload("http://www.example.com/image.jpg", :public_id => 'sample_remote')
cl_image_tag("sample_remote.jpg")
http://res.cloudinary.com/demo/image/upload/sample_remote.jpg

Tích hợp CarrierWave Lưu ý: Bắt đầu từ phiên bản 1.1.0 các định dạng cơ sở dữ liệu CarrierWave đã thay đổi để bao gồm các loại tài nguyên và kiểu lưu trữ. Các chức năng mới là tương thích ngược với các định dạng trước đó.

Ruby Gem Cloudinary bao gồm một plugin tùy chọn cho CarrierWave. Nếu bạn sử dụng CarrierWave, chỉ đơn giản bao gồm

Cloudinary::CarrierWave

để chuyển đổi sang lưu trữ đám mây và hình ảnh được chỉnh sửa trong các đám mây.

class PictureUploader < CarrierWave::Uploader::Base
include Cloudinary::CarrierWave
...
end

Các bạn có thể tìm hiểu thêm qua một bài đăng blog thú vụ về Ruby on Rails upload hình ảnh với CarrierWave và Cloudinary tại : http://cloudinary.com/blog/ruby_on_rails_image_uploads_with_carrierwave_and_cloudinary

4. Support

Link Github: https://github.com/cloudinary/cloudinary_gem/issues

Cloudinay: http://cloudinary.com/contact


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí