[英]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.