我想下载S3签名的视频file...but而不是下载它去播放...
使用send_data S3下载
send_data open(file).read, filename: 'archive12.mp4', type: 'video/mp4', disposition: 'attachment'
发布于 2019-01-18 03:19:38
您正在使用open(file).read
。因此,它读取文件并播放它。也许可以移除.read
。尝试添加stream
标志。也可以看看send_file
:https://api.rubyonrails.org/classes/ActionController/DataStreaming.html#method-i-send_file。
或者使用aws-sdk?
require 'aws-sdk'
s3 = Aws::S3::Resource.new(
region: 'us-east-1',
access_key_id: '...',
secret_access_key: '...'
)
s3.bucket('bucket-name').object('key').get(response_target: '/path/to/file')
如果你仍然想使用send_data
,也许可以试试:
data = open("https://s3.amazonaws.com/PATTH TO YOUR FILE")
send_data data.read, filename: 'archive12.mp4', stream: false, type: 'video/mp4', disposition: 'attachment'
https://stackoverflow.com/questions/54242726
复制相似问题