我正在使用paperclip,dropbox和paperclipdropbox gems,以便从单个Dropbox帐户上传和下载旧考试(.pdfs),以避免支付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
我相信我的应用程序正在查找该文件的公共文件夹,我的研究还没有找到从dropbox文件夹下载的方法。如果有人有这方面的经验,请帮助!!