Tengo un punto final de la API de Rails que envía un archivo csv en la solicitud de la API:
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', ) endProblema:
Cuando llego al punto final, devuelve un 200, sin embargo, mi navegador no está descargando el archivo...
Tenga en cuenta que estoy ejecutando un servidor API de Rails, por lo que no tengo ninguna vista, solo el controlador de modo y los servicios.
mi código de interfaz se ve así:
<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`) }Encontré la solución.
<Button onClick={() => {window.open(your backend url)}) >