使用之前 post 中的建议我能够弄清楚如何将单个文件从我 Shiny 的应用程序上传到我的谷歌驱动器上的特定文件夹。这非常有效。不幸的是,当我尝试选择并上传多个文件时,出现以下错误。任何帮助表示赞赏! “if (!file.exists(media)) { 中的警告: 条件长度 > 1 并且仅使用第一个元素 警告:rationalize_path_name 中的错误:is_string(name) 不为 TRUE [没有可用的堆栈跟踪]”
下面是最低限度可重现的示例
library(googledrive)
ui <- fluidPage(
fileInput(inputId = "file",
label = "Choose file to upload",
accept = NULL,
multiple = TRUE)
)
server <- function(input, output) {
observeEvent(input$file, {
drive_upload(media = input$file$datapath,
name = input$file$name,
path = "my_folder")
})
}
shinyApp(ui, server)
最佳答案
要上传多个文件,您需要迭代每个 input$file$datapath
、input$file$name
对:
observeEvent(input$file, {
mapply( function(datapath, name){
drive_upload(media = datapath,
name = name,
path = "my_folder")},
input$file$datapath,
input$file$name)
})
关于r - 将多个文件从 Shiny 的应用程序上传到谷歌驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66974696/