首页 > 解决方案 > dir.create 和 shinyapps.io 的问题

问题描述

我正在尝试让应用程序在 shinyapps.io 上运行。第一步是加载 rds 文件以进行 Dropbox 访问。该应用程序应该在服务器上下载 Dropbox 的一个文件夹。

我想在应用程序的“静态”目录中创建一个目录。

我试过了

dir.create (static/...)
dir.create (./static/...)

两者在本地都可以正常工作,但似乎 dir.create () 在 shinyapps 服务器上不起作用。 https://colomb.shinyapps.io/resultsgallery_software/ https://github.com/smartfigures-dar/SmartFig_Rbased_prototype/tree/dropbox_integration

请注意,它似乎适用于第 2 个实例,然后不再适用:

当地的:

for (j in folders$path_display){
print(j)
foldercreated <-dir.create(paste0("./static",j))
}
[1] "/SFB-resultgallery"
[1] "/SFB-resultgallery/Figures"
[1] "/sfb-resultgallery/Figures/atg6-9_KD_in_brain"
[1] "/sfb-resultgallery/Figures/keep_it_short,_no_more_than1"
[1] "/sfb-resultgallery/Figures/2e"
[1] "/sfb-resultgallery/Figures/keep_it_short,_no_more_than"e

shinyapps.io 日志消息:

    2019-07-05T09:42:45.679221+00:00 shinyapps[1012452]: [1] "/SFB-resultgallery"
2019-07-05T09:42:45.679636+00:00 shinyapps[1012452]: [1] "/SFB-resultgallery/Figures"
2019-07-05T09:42:45.679740+00:00 shinyapps[1012452]: [1] "/sfb-resultgallery/Figures/atg6-9_KD_in_brain"
2019-07-05T09:42:45.679936+00:00 shinyapps[1012452]: Warnung in dir.create(paste0("./static", j))
2019-07-05T09:42:45.679938+00:00 shinyapps[1012452]:   kann Verzeichnis './static/sfb-resultgallery/Figures/atg6-9_KD_in_brain' nicht erzeugen. Grund 'No such file or directory'

标签: rshiny

解决方案


简短的回答:永远不要大写文件夹名称。

尽管问题很小,但花了很长时间才找到问题并解决它:shinyapps.io 和 windows 处理大写字母的方式不同:东西保存在“Figures/”中,应用程序尝试访问“figures/”,不提到保管箱也弄乱了它(图中的文件/在图中看到/...)

我想知道这是否在文档中的某个地方...

(我在找到它几个小时后仍在努力解决这个问题......)


推荐阅读