You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

树莓派3上Node-RED Dashboard打开PDF文件失败求助

在树莓派3的Node-RED Dashboard中打开PDF文件的解决方案

嘿,我来帮你搞定这个问题~你用Dashboard的+Link功能直接指向本地PDF路径行不通,核心原因是浏览器没法直接访问树莓派本地的文件系统路径——Dashboard的链接是前端浏览器发起的请求,它只能访问Node-RED允许对外暴露的静态资源,而不是本地任意文件路径。

结合你使用的Node-RED v0.18.3和Dashboard v2.8.1版本,给你几个实用的解决办法:

方法一:把PDF放到Node-RED默认静态资源目录

Node-RED自带一个专门存放静态资源的public文件夹,步骤如下:

  • 打开树莓派终端,进入Node-RED的用户目录:cd ~/.node-red
  • 如果没有public文件夹就创建一个:mkdir public
  • 把你的PDF文件复制到这个文件夹,或者创建软链接(不用复制文件,节省空间):
    ln -s /home/pi/Desktop/Some.pdf ~/.node-red/public/Some.pdf
    
  • 回到Node-RED编辑器,修改Link节点的链接地址为/Some.pdf,部署后就能正常访问了。

方法二:自定义静态资源目录(保留PDF在原位置)

要是不想移动PDF文件,可以修改Node-RED配置,让它把你的Desktop目录设为可访问的静态资源目录:

  • 打开Node-RED的配置文件:nano ~/.node-red/settings.js
  • 找到httpStatic这一行(默认是被注释的,前面有//),修改为:
    httpStatic: "/home/pi/Desktop",
    
  • 保存退出编辑器(按Ctrl+O回车,再按Ctrl+X
  • 重启Node-RED服务:
    node-red-stop && node-red-start
    
  • 之后Link节点里直接填/Some.pdf就能访问原位置的PDF了。

方法三:在Dashboard框架内嵌入PDF(无需新标签页)

如果想直接在Dashboard页面里显示PDF内容,而不是跳转到新标签页,可以用Template节点嵌入iframe:

  • 拖一个ui_template节点(Dashboard分类下)到画布上
  • 双击节点,设置好所属的Dashboard组,然后在模板内容里输入:
    <iframe src="/Some.pdf" width="100%" height="600px" frameborder="0"></iframe>
    
  • 确保PDF已经通过上面两种方法之一被Node-RED作为静态资源提供,部署后就能在Dashboard里直接看到PDF了。

内容的提问来源于stack exchange,提问作者Maurycy Rosiński

火山引擎 最新活动