我在服务器上运行了一个闪亮的应用程序
预处理数据我正在使用系统unix工具,如下所示:
for (file in 1:length(files)){
foon <- paste("data/",files[file],".txt",sep="")
if(.Platform$OS.type == "unix") {
system(paste("sed 's/\t/,/g' ", foon," | tail -n +2 > file",file, ".txt"))
}
else {
shell(paste("sed 's/\t/,/g' ", foon," | tail -n +2 > file",file,".txt", sep=""))
}
这会引起我没想到的问题吗? 我在Ubuntu 14服务器上运行应用程序
答案 0 :(得分:1)
如果你拥有自己的服务器而且你正在运行Shiny Server,那么在它上面放置文件就绝对没问题了。如果您在shinyapps.io上运行您的应用程序,那么它不是一个好主意,因为它(还)没有持久的文件存储,但在您自己的服务器上,您可以通过任何方式访问文件。< / p>
答案 1 :(得分:1)
我通常首先将文件放在tmp上。这将是用户从闪亮的应用程序输入文件的情况。这是因为从Web应用程序来看,大多数情况下,用户可能没有对/ tmp以外的任何内容进行读/写访问。这也有助于重新计算和动态处理,而无需重新加载用户输入文件。要做到这一点,你可以简单地在ubuntu上对tmpdir执行file.copy。
我确实遇到过这些已保存文件会被缓存的情况。要处理这个问题,我会在应用程序中有一个“刷新”按钮,单击此按钮将删除tmpdir上的所有已保存文件。
另一方面,如果这些文件需要静态地在应用程序中进行处理(例如元文件或某些参考固定数据),那么您可以将文件放在与应用程序代码文件相同的目录中。