Wraps the Aliyun OSS as an Active Storage service.
Add this line to your application's Gemfile:
gem 'activestorage-aliyun'
And then execute:
$ bundle
config/storage.yml
production:
service: Aliyun
access_key_id: "your-oss-access-key-id"
access_key_secret: "your-oss-access-key-secret"
bucket: "bucket-name"
endpoint: "https://oss-cn-beijing.aliyuncs.com"
# path prefix, default: /
path: "my-app-files"
# Bucket mode: [public, private], default: public
mode: "public"
Orignial File URL:
<%= image_tag @photo.image.service_url %>
Thumb with OSS image service:
class Photo < ApplicationRecord
def image_thumb_url(process)
self.image.service_url(params: { "x-oss-process" => process })
end
end
And then:
<%= image_tag @photo.image.image_thumb_url("image/resize,h_100,w_100") %>
If you want to get original filename (Include Chinese and other UTF-8 chars), for example: 演示文件 download.zip
, you need present disposition: :attachment
option.
#
<%= image_tag @photo.image.service_url(disposition: :attachment) %>
Contribution directions go here.
The gem is available as open source under the terms of the MIT License.