ruby-将google bucket文件传输给最终用户而不在本地保存文件
发布时间:2022-07-21 15:44:00 209
相关标签: # 服务器# 服务器
现在,当客户端从我的网站下载文件时,我:
- 从google cloud bucket下载文件到服务器(GCP下载文件,GCP流媒体下载)
- 将下载的文件保存到Ruby
Tempfile
- sending Tempfile to enduser using Rails 5 发送_文件
我想跳过第2步,以某种方式将文件从谷歌云传输/流式传输到最终用户,而不将文件保存在我的服务器上——这可能吗?注意,google bucket是私有的。
我当前使用的代码:
# 1 getting file from gcp:
storage = Google::Cloud::Storage.new
bucket = storage.bucket bucket_name, skip_lookup: true
gcp_file = bucket.file file_name
# 2a creates tempfile
temp_file = Tempfile.new('name')
temp_file_path = temp_file.path
# 2b populate tempfile with gcp file content:
gcp_file.download temp_file_path
# 3 sending tempfile to user
send_file(temp_file, type: file_mime_type, filename: 'filename.png')
我想要的是:
# 1 getting file from gcp:
storage = Google::Cloud::Storage.new
bucket = storage.bucket bucket_name, skip_lookup: true
gcp_file = bucket.file file_name
# 3 sending/streaming file from google cloud to client:
send_file(gcp_file.download, type: file_mime_type, filename: 'filename.png')
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报