1

我正在使用回形针、保管箱和回形针保管箱 gem 来从单个保管箱帐户上传和下载旧考试 (.pdf),以避免为 Amazon S3 服务付费。我可以使用以下控制器方法毫无问题地将文件上传到帐户:

def upload_exam
  if params[:document]
    @exam = Exam.new(:course_id => params[:course], :user_id => current_user.id, 
    :professor => params[:professor], :term => params[:term], 
    :document => params[:document], :description => params[:description])
  respond_to do |format|
  if @exam.save
    format.html { redirect_to test_bank_path, notice: 'Exam was successfully uploaded.' }
  else
    format.html { render action: "upload_exam" }
  end
end

为了下载文件,我使用了相同的 send_file 方法,该方法可以从 download_exam 控制器中我的应用程序的公共目录发送回形针文件:

send_file @exam.document.path, :filename => @exam.document_file_name,
:type => @exam.document_content_type, :disposition => "attachment"

但这会运行错误

Cannot read file /documents/documents/18/original/ASCE_7-05_Chapter_3.pdf

我相信我的应用程序正在公用文件夹中查找该文件,而我的研究还没有找到从保管箱文件夹下载的方法。如果有人有这方面的经验,请帮忙!!

4

0 回答 0