web-dev-qa-db-ja.com

downloadButton / downloadHandlerはファイル名引数を認識しません

ShinyのdownloadHandler()で問題が発生しました。
この関数を介してファイルをダウンロードする場合、ダウンロードウィンドウのファイル名は出力変数の名前(例: "downloadData")と同じですが、で宣言されているものとは異なります。 downloadHandler()の "filename ="( "data-2017-02-13.csv"である必要があります)。

次の例はdownloadHandler()-ヘルプページからのものであることに注意してください。したがって、Rスクリプトを作成するRまたはRStudioには一般的な問題があると思います。
さらに、光沢のあるアプリをWebブラウザーで開くと、問題は解消されます。
これで部分的に解決しますが、RStudioとWebブラウザー内でshinyの動作が異なる理由を知りたいと思います。

## Only run examples in interactive R sessions
if (interactive()) {

ui <- fluidPage(
  downloadLink("downloadData", "Download")
)

server <- function(input, output) {
  # Our dataset
  data <- mtcars

  output$downloadData <- downloadHandler(
    filename = function() {
      paste("data-", Sys.Date(), ".csv", sep="")
    },
    content = function(file) {
      write.csv(data, file)
    }
  )
}

shinyApp(ui, server)
}

そしてここで私が得るダウンロードウィンドウ: enter image description here

18
Nik3000

RStudioプレビューウィンドウを使用したときに同じ問題が発生し、常にコマンドを使用してブラウザーを開くことでこの問題を解決できました。

runApp(launch.browser = TRUE)

21
Stedy