fs.readFile он не дает мне правильный формат для pdf

Я пробую загружать один pdf в новой закладке браузера перемещая это из-за res.send для того, чтобы файл продолжил быть частным и не доступным если только у пользователя не были необходимые разрешения. Проблема, - в котором, когда открывается файл pdf в браузере, не появляется контент, листы появляются в мишени.

Код в node.js:

FilesController.prototype.showPdfInBrowser = function (req, res) {
var filePath = "My url"

fs.readFile(filePath , function (err,data){
    res.send(data);
});
};

И тот AngularJS (Угловой 1):

$scope.showPdfInBrowser = function (log) {
            $http.get(log.url)
                .then(function (data) {
                    console.log(data);

                    var file = new Blob([data.data], {type: 'application/pdf'});
                    var fileUrl = URL.createObjectURL(file);
                    window.open(fileUrl);
                })
        };
3
задан 29.08.2019, 05:23
3 ответа

В конце концов уже я решил проблему. Просто было нужно помещать, каковым был тип данных, который будет получать просьбу в AngularJS (Угловой 1).

Ссылаясь на пример, который я поместил, напечатав вопрос, в часть AngularJS было бы нужно помещать следующее:

$scope.showPdfInBrowser = function (log) {
    $http.get(log.url, { responseType: 'arraybuffer' })   // <----- tipo de datos
        .then(function (data) {
            console.log(data);
            var file = new Blob([data.data], {type:'application/pdf'});
            var fileUrl = URL.createObjectURL(file);
            window.open(fileUrl);
        })
};
1
ответ дан 03.12.2019, 19:59

Я не уверен, но думаю, что ты используешь express, если это так, ты можешь использовать res.sendFile или res.sendfile (в зависимости от версии, что ты использовал)

0
ответ дан 03.12.2019, 19:59

если ты хочешь дать более подробный вид, ты можешь использовать PDF.js, только ты был бы должен добавлять линию такого кода:

$scope.showPdfInBrowser = function (log) {
$http.get(log.url, { responseType: 'arraybuffer' })   // <----- tipo de datos
    .then(function (data) {
        console.log(data);
        var file = new Blob([data.data], {type:'application/pdf'});
        var fileUrl = URL.createObjectURL(file);
        var viewerUrl = '/Scripts/PDF.js/web/viewer.html?file=' + encodeURIComponent(fileUrl);
        window.open(viewerUrl);
    })
};

и результат был бы чем-либо подобным https://mozilla.github.io/pdf.js/web/viewer.html . Привет

0
ответ дан 03.12.2019, 19:59

Теги

Похожие вопросы