【问题标题】:Writing string to file for download Ruby on Rails将字符串写入文件以供下载 Ruby on Rails
【发布时间】:2022-01-12 18:13:31
【问题描述】:

我正在构建一个进行大量 API 调用的应用程序。我希望能够将每个 API 调用的输出写入文件,然后能够下载该文件。到目前为止,这是我的控制器的样子:

def show
   @resp = Faraday.get("https://my_api_endpoint")
end 

如何将字符串写入文件并使用 Ruby on Rails 下载该文件?

【问题讨论】:

  • 响应有多大?您只想下载响应一次还是多次?您是否需要确保以后只允许请求 API 请求的用户下载文件?您的服务器设置如何,您是否能够将文件存储在本地文件系统中,还是需要将其存储在其他位置(例如 S3 等)

标签: ruby-on-rails ruby file file-io


【解决方案1】:

你的问题太模糊了。

您可以这样写入文件:

File.write(Rails.root.join("PATH_TO_FILE.txt"), @resp.to_s, mode: "a")

但是您应该将文件附加到您的模型以便以后能够检索它,例如

has_one_attached :response_txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    相关资源
    最近更新 更多