存档的闪亮反应扫描,然后写()它下载,失败的cat() - >参数类型"封闭"没处理

时间:2015-04-29 08:35:29

标签: r download upload shiny

我想上传一个文件,以某种方式更改它,然后下载一些更改的行。 write()函数不能替换为此代码。

这是我的汇总代码:

shinyServer(function(input, output) {
  inFile <- reactive({input$file})
  archive <- reactive({scan(inFile$datapath, what = character(), skip = 1, sep= "\n")})

  output$downloadData <- downloadHandler(
    filename = function() { 
      paste("something", '.cfg', sep='') 
    },
    content = function(file) {
      write(archive, file)
    }
  )
})

&GT;

shinyUI(fluidPage(
        fileInput("file", label="Something: "),
        downloadButton('downloadData', 'Download')
))

当我尝试下载刚刚上传的文件时,它会抛出一个错误:

  

cat(list(...),file,sep,fill,labels,append)出错:     参数1(类型&#39;封闭&#39;)未由&#39; cat&#39;

处理

谢谢

编辑:我尝试在将它分配给&#34; archive&#34;时省略了reactive()函数,但它告诉我inFile $ datapath:object type&#34; closure&#34;不是一个子集,我也尝试分配&#34; as.character(反应(扫描...))&#34;存档,但它不起作用。

1 个答案:

答案 0 :(得分:0)

意识到有两个问题:

  1. &#34; INFILE&#34;和&#34;存档&#34; vars必须在&#34;观察({})&#34;言。
  2. 为了对downloadHandler可见,必须使用&#34;&lt;&lt; - &#34;分配归档。运算符,而不是&#34;&lt; - &#34;,以便成为全局变量。