You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在shinyapps.io部署的Shiny应用读取远程.RDS文件报错求助

解决Shiny应用从Dropbox读取RDS模型的问题

Hey Matt, 我来帮你搞定这个部署时的模型读取问题!

你遇到错误的核心原因

你用的Dropbox链接参数dl=0是用来打开文件的网页预览页面,而不是直接返回RDS文件的二进制内容。readRDS只能解析RDS格式的文件,自然会报错“unknown input”。

快速修复Dropbox链接

只需要把链接里的dl=0改成dl=1,让Dropbox直接返回文件内容:

test <- readRDS(gzcon(url("https://www.dropbox.com/s/p3bk57sqvlra1ze/strModel.RDS?dl=1")))

记得确保你的Dropbox文件已经设置为公开可访问,不然shinyapps.io的服务器没法访问到文件。

其他免费托管方案推荐

除了Dropbox,还有几个更稳定的免费托管选项:

  • Google Drive:先把模型文件设为“任何人可查看”,然后将分享链接从https://drive.google.com/file/d/XXX/view?usp=sharing改成https://drive.google.com/uc?export=download&id=XXX,再用同样的readRDS(gzcon(url(...)))方式读取。
  • GitHub Gist:把RDS文件上传到Gist,点击文件旁的「Raw」按钮获取原始链接,直接用readRDS(url("原始链接"))读取,这个方式能和代码托管联动,还能追踪版本,非常方便。

更优的方案:直接打包模型到应用

其实最可靠的方式是把RDS模型文件放在你的Shiny应用目录里,部署时和app代码一起上传到shinyapps.io。这样完全不需要依赖外部托管服务,避免了链接失效、访问延迟的问题。只要你的模型文件不是特别大(免费版shinyapps.io支持几百MB以内的文件),这绝对是首选:

# 假设strModel.RDS和app.R在同一个目录下
test <- readRDS("strModel.RDS")

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:24:38