#javascript #reactjs #react-router #axios #react-component
#javascript #reactjs #react-router #axios #реагирующий компонент
Вопрос:
Я извлекаю PDF-файл из серверной части и показываю его в компоненте.
Функциональность выглядит следующим образом:
axios(`${apiURL}/pdf`, {
method: 'GET',
responseType: 'blob' //Force to receive data in a Blob Format
})
.then(response => {
//Create a Blob from the PDF Stream
const file = new Blob(
[response.data],
{type: 'application/pdf'});
//Build a URL from the file
const fileURL = URL.createObjectURL(file);
//Open the URL on new Window
window.open(fileURL);
})
.catch(error => {
console.log(error);
});
Однако проблема заключается в том, что когда вы открываете этот компонент в верхней части PDF-файла, он показывает случайные числа слева от номера страниц PDF, которые, вероятно, являются строкой, сгенерированной с помощью createObjectURL . Как я могу изменить его и отобразить пользовательский заголовок или параметр из react router?
Комментарии:
1. Как насчет
window.open(`${apiURL}/pdf`)
2. Дело в том, что я встраиваю его в компонент. Маршрут является пользовательским. Контейнер PDF показывает заголовок случайной строки с числами внутри вставки, поэтому его следует настроить.
3. Что вы имеете в виду, «встраивая его в компонент»? Разве вы не помещаете его в новое окно?
4. Нет, я использую теги inside embed
5. В любом случае, даже если вы откроете его на новой вкладке, проблема останется с этим заголовком внутри контейнера PDF, который следует настроить: D