Ссылки из BLOB-PDF внутри iframe, открывающиеся в новой вкладке - PullRequest
0 голосов
/ 29 апреля 2019

Я хочу показать файл PDF внутри iframe, но этот файл защищен unded токеном JWT, поэтому я построил iframe со следующим кодом:

const MyFrame = ({ token, src, type, ...otherProps }) => {
    const [blobObject, setBlobObject] = useState(null);

    const method = 'GET';
    const authorization = `Bearer ${token}`;
    const headers = new Headers({ authorization, type });
    const options = { method, headers };

    useEffect(() => {
        fetch(src, options)
            .then(response => response.blob())
            .then(response => {
                var blob = new Blob([response], { type });
                const obj = URL.createObjectURL(blob);
                setBlobObject(obj);
            });
    }, []);

    return <iframe src={blobObject} {...otherProps} />;
};

Использование:

<MyFrame src="..." token={myToken} type="application/pdf" />

Хотя это работает, при просмотре файла PDF возникает определенная проблема.Если я нажму на любую из ссылок внутри PDF, новая страница будет загружена не во фрейм, а на главную страницу.

Можно ли как-нибудь открыть эти ссылки в новой вкладке?

ПРИМЕЧАНИЕ: Что-то, чего я не знаю, если это важно, но, возможно, стоит упомянуть, в консоли я получаю следующее предупреждение:

Resourceинтерпретируется как документ, но передается с приложением MIME-типа / pdf: "blob: http://localhost:3000/43452329-a89f-4e95-a9d7-1a68df2213be".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...