将PDF文件从Node.js服务器保存到PhoneGap应用程序

Saving a PDF file from a Node.js server to a PhoneGap application

本文关键字:保存 PhoneGap 应用程序 服务器 js PDF 文件 Node      更新时间:2023-09-26

我正在尝试从运行在Heroku上的node.js服务器获取以下PDF文件。https://limitless-depths-2785.herokuapp.com/file/geo3a.pdf

如果我在浏览器中访问该url,就会加载PDF。我想做的是使用jQuery或JavaScript对该URL进行AJAX或GET调用,并将其保存到手机中。我不确定我需要在服务器上做什么来配置它以将pdf保存到手机的方式发送,或者在客户端打什么电话来正确接收pdf文件。

这是我的客户端代码。

$('#myButtonPdf').on('click', function () {
  alert("Loading Pdf");
  $.get( "https://limitless-depths-2785.herokuapp.com/file/geo3a.pdf", function( data ) {
       $( ".result" ).html( data );
       alert( "Loaded PDF" );
  });
});

这是我的Node.js服务器端代码,用于提供静态文件。

app.get('/file/:name', function (req, res, next) {
  var options = {
    root: __dirname + '/public/',
    dotfiles: 'deny',
    headers: {
        'x-timestamp': Date.now(),
        'x-sent': true
    }
  };
  var fileName = req.params.name;
  res.sendFile(fileName, options, function (err) {
    if (err) {
      console.log(err);
      res.status(err.status).end();
    }
    else {
      console.log('Sent:', fileName);
    }
  });
});

您不想在这里执行ajax请求。AJAX请求用于序列化数据,如JSON、XML、HTML等。PDF作为二进制数据传输。签出这篇文章

Phonegap-将图像从url保存到设备照片库

只需将图像url替换为您的PDF url

进一步阅读PhoneGap文件插件。