我目前正在从关联的网址生成临时pdf文件,以存储在我的rails app的tmp文件夹中。然后,我将使用filepath作为对第三方应用程序的api调用的参数。这是我尝试创建文件的方法:
def get_temporary_pdf(chrono_detail, recording, host)
auth_token = User.find(chrono_detail.user_id).authentication_token
pdf_location = host + '/recordings/' + recording.id.to_s + '/analysis.pdf/?format=pdf&download=true&token=' + auth_token
filename = "Will" + '_' + recording.id.to_s + '_' + Date.new.to_s + '.pdf'
File.open(Rails.root.join("tmp",filename), "wb") do |file|
file.write open(pdf_location, {ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE}).read
end
Rails.root.join("tmp",filename)
return "/Users/williamsumfest/Desktop/Ekodevices/eko_web/tmp/" + filename
end
运行程序并引用此方法时,收到错误:
Net::ReadTimeout - Net::ReadTimeout:
源自使用open()的代码中的行。我在open-uri中遇到过类似的问题,但我的pdf相当小。此外,我使用thin,因此请求应该能够同时处理。有没有人有任何建议?