【问题标题】:how to download a pdf file stored in a server in client side in node.js server如何在node.js服务器的客户端下载存储在服务器中的pdf文件
【发布时间】:2013-08-25 22:25:54
【问题描述】:

如何允许客户端使用 node.js 下载存储在服务器中的 pdf 文件。

请有人帮我解决此代码。

fs.readFile('temp/xml/user/username.pdf',function(error,data){
    if(error){
       res.json({'status':'error',msg:err});
    }else{
       res.json({'status':'ok',msg:err,data:data});
    }
});

【问题讨论】:

    标签: node.js pdf mime-types


    【解决方案1】:

    发送正确的mime-type,,然后是pdf的内容。

    fs.readFile('temp/xml/user/username.pdf',function(error,data){
        if(error){
           res.json({'status':'error',msg:err});
        }else{
           res.writeHead(200, {"Content-Type": "application/pdf"});
           res.write(data);
           res.end();       
        }
    });
    

    我假设res 是您的响应对象。


    啊,但是您使用的是 Express。请改用乔纳森的答案。

    【讨论】:

    • 我尝试了这两个代码,即使不工作我正在通过 ajax 进行 api 调用是问题所在。因为 ajax 的响应包含 pdf 文件的字符串数据,我尝试创建 blob 构建器从响应数据中制作 blob 数据并使用 FileSaver 在本地保存文件并将文件存储为空,其中没有数据(存储空的 pdf)。有没有其他方法可以做到这一点...帮助我..
    【解决方案2】:

    Express 有 2 种方便的方法可用于发送文件。区别在于:

    【讨论】:

    • +1 啊,他正在使用快递。 sigh,我不知道它的方法,他也没有在任何地方提到express。
    • 什么是“res”以及如何获得它?
    • @binaryBigInt res 是一个 Express Response 对象,是 Node 自己的 ServerResponse 对象的扩展。它由 Express 作为 route handlersmiddleware 的参数提供。
    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 2019-07-08
    • 1970-01-01
    相关资源
    最近更新 更多