如果要上傳的檔案太大,或者一次性上傳耗時太長,您可以通過流式上傳的方式,一次處理部分內容,直到完成整個檔案的上傳。
範例程式碼
以下代碼用於流式上傳。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Endpoint以華東1(杭州)為例,其它Region請按實際情況填寫。
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# 填寫Bucket名稱,例如examplebucket。
bucket = client.get_bucket('examplebucket')
# 填寫Object完整路徑,完整路徑中不能包含Bucket名稱,例如exampleobject.txt。
bucket.put_object('exampleobject.txt') do |stream|
100.times { |i| stream << i.to_s }
end