闪亮的错误:'文件'必须是字符串或连接

时间:2014-07-09 07:41:07

标签: r shiny

问题#1: 我的ui.R代码:

fileInput('file1', h5('Choose input file: (Use only tab delimited text files)'),
              accept=c('text', 'text-separated-values'))

和server.R代码

inFile <- input$file1
dat<-read.table(inFile$datapath, header=TRUE, sep="\t")

一切都很好,但无论什么时候,我都会发光,我得到了,Error: 'file' must be a character string or connection。但在上传文件后,错误消失了。可能是什么问题以及如何纠正这个问题?

问题#2: 当闪亮运行时,如何在R控制台中抑制错误消息?

提前致谢

2 个答案:

答案 0 :(得分:3)

您应该在反应函数内阅读文件。例如,在renderTable中。

然后您需要添加

if(is.null(input$file1))     return(NULL) 

作为反应函数的第一件事。

错误是因为您尝试在上传文件之前读取路径为NULL的文件,该文件是input $ file1的值。

答案 1 :(得分:0)

然后您需要添加

validate(
  need(input$file1 != "", "No data has been uploaded")
)

此链接将对您有用 https://shiny.rstudio.com/articles/validation.html