试图创建下载链接使用锚标记在闪亮。根据文件的数量动态创建链接,如下所示。但是错误说没有找到文件。
用户界面
uiOutput("result")服务器
fileslist = strsplit(res,"#")[[1]] #Sample data "output/file1#output/file2#output/file3"
tags <- tagList("Files:")
for (filepath in fileslist){
tags <- tagList(tags, a("File", target="_blank", href=glue("{filepath}")))
}
output$result <- renderUI({
tags
})它在浏览器中使用url成功地创建a href链接,如下所示。
domain:1111/output/file1
domain:1111/output/file2
domain:1111/output/file3但是当点击链接时,我会得到404 (Not Found)错误。这些文件确实存在于目录中。
App dir结构
AppDir-
ui.R
server.R
output-
file1
file2
file3 该目录具有所有读取权限。
发布于 2020-01-09 12:44:09
不从闪亮项目的目录结构中提供文件。简单的方法是将您的输出文件夹移动到一个www文件夹,该文件夹通过闪亮自动为您的应用程序提供。
AppDir-
ui.R
server.R
www -
output-
file1
file2
file3 那么您的href应该使用domain:1111/output/file1 (是的,不是www,只有它的内容是共享的)
您还可以输入其他文件,如页面图片、CSS文件,甚至javascript文件。
尽管如此,www并不是一个可写的文件夹。更好的方法是拥有一个单独的可写文件夹(例如,您已经拥有output)并将其提供给您的应用程序。
为此,您可以使用闪亮的addResourcePath()函数。
addResourcePath("output","./output")这些文件可以通过href domain:1111/output/file1获得。
https://stackoverflow.com/questions/59662517
复制相似问题