簡體   English   中英

前端處理:帶有 Rails API 的文件/CSV

[英]Frontend Handling: FILES/CSV with Rails API

我有一個 Rails API 端點,它根據 API 請求發送一個 csv 文件:

def download_csv

    headers = ['column one', 'column two', 'column three']

    csv_data = CSV.generate(headers: true) do |csv|
      csv << headers
      csv << ["A", "B", "C"]
    end
    csv_data.strip

    send_data(
      csv_data,
      filename: 'attachment.csv',
      type: :csv,
      disposition: 'attachment; attachment.csv',
    )
  end

問題:

當我到達端點時,它返回 200,但是我的瀏覽器沒有下載文件...

請注意,我正在運行 Rails API 服務器,所以我沒有任何視圖,只有模式控制器和服務。

我的前端代碼如下所示:

 <Button 
        onClick={() => {
          return API.downloadUserCsv().then(() => {
            Modal.alert({ body: 'Success' })
          })
        }}
      >
        Download CSV
      </Button>
downloadUserCsv(): Promise<AxiosResponse> {
    return this.http.get(`/admin/debug/users/download_csv`)
  }

找到了解決辦法。

<Button 
   onClick={() => {window.open(your backend url)})
>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM