r - 将多个文件从 Shiny 的应用程序上传到谷歌驱动器

标签 r shiny

使用之前 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$datapathinput$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/

相关文章:

r - 在与 R 交互的数据库中处理字段类型

编译 install.packages 时出现 R 错误的 ELF 类错误

css - 如何将格式样式应用于 R 笔记本中的所有数据表

r - 如果不知道路径/源,如何在 Shiny 中播放音频文件?

r - xgboost : need label when data is a matrix

r - 使用 ggplot 的条形图重新排序无法正常工作

r - 对齐具有不同 y 标签长度的两个图的 x 轴

html - Shiny 中 selectInput 标签旁边的信息图标

html - 设置灰度背景图像 - Shiny R

r 基于选择的 Shiny 用户输入