Как создать ссылку для загрузки статического CSV-файла из каталога /public/csv в React

Что касается приложения React, у меня есть список статических CSV-файлов в каталоге /public/csv. Затем файл js имеет следующий код:

<a href = "/public/csv/file.csv" download>Download</a>

Это работает локально для загрузки CSV-файла, однако не работает, когда приложение развернуто на сервере.

Не могли бы вы подсказать, как загрузить статический файл из папки public/csv в React?

Моя структура каталогов:

Project
 - build
   - index.html
   - main.js
 - public
   - csv << the target csv file to be downloaded
 -  src
   - index.js
   - App.js
 - package.json
 - webpack.config.js

Не могли бы вы попробовать href = "./public/csv/file.csv" ?

samb102 06.03.2019 09:52

Попробуйте <a href = "csv/file.csv" download>Download</a>, потому что после того, как вы сделаете npm run build, все внутри public будет напрямую доступно внутри каталога build.

Ajeet Shah 06.03.2019 09:54
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
1 001
1

Ответы 1

<a href = {process.env.PUBLIC_URL + "/csv/file.csv"} download>Download CSV</a>

Старый вопрос, но я решил опубликовать ответ, чтобы получить доступ к общедоступному каталогу в React из JavaScript, вам нужно использовать переменную среды «process.env.PUBLIC_URL».

Другие вопросы по теме