gpt4 book ai didi

ruby-on-rails - 如何使用 paperclip-googledrive 从谷歌驱动器下载文件?

转载 作者:数据小太阳 更新时间:2023-10-29 07:16:53 24 4
gpt4 key购买 nike

我已经在谷歌驱动器上完成了文件上传,但在下载时出现错误:

ActionController::MissingFile: Cannot read file original_22_Wages372-817339(wages).pdf

我认为它没有获得谷歌驱动器路径。

附件模型:

has_attached_file :doc, 
storage: :google_drive,
google_drive_credentials: "#{Rails.root}/config/google_drive.yml",
google_drive_options: {
public_folder_id: '0BwCp_aK6VhiaQmh5TG9Qbm0zcDQ',
path: proc { |style| "#{style}_#{id}_#{doc.original_filename}" }
}

Controller :

 attachment = Attachment.find(params[:id])      
send_file attachment.doc.path(:original),
filename: attachment.doc_file_name,
type: attachment.doc_content_type,
stream: 'true',
x_sendfile: true

提前致谢

最佳答案

您应该首先从您的应用程序中读取文件。然后使其可供下载。

attachment = Attachment.find(params[:id])
data = open(attachment.doc.url).read
send_file data,
:filename => attachment.doc_file_name,
type: attachment.doc_content_type, stream: 'true',
:x_sendfile => true

你也可以让它可用,比如:

redirect_to attachment.doc.url

但这不是正确的做法。因为你直接向最终用户开放你的资源。

关于ruby-on-rails - 如何使用 paperclip-googledrive 从谷歌驱动器下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26407639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com