drop_download 中的错误:冲突 (HTTP 409)
Posted
技术标签:
【中文标题】drop_download 中的错误:冲突 (HTTP 409)【英文标题】:Error in drop_download: Conflict (HTTP 409) 【发布时间】:2021-07-13 11:28:56 【问题描述】:我正在构建一个 Shiny,我希望用户从 Dropbox 帐户下载数据以在应用程序中使用。下载的数据是用户在之前的会话中输入的。
每当我尝试下载数据时,都会收到以下错误消息:
Downloading: 87 B Warning: Error in drop_download: Conflict (HTTP 409).
156: <Anonymous>
我认为这不是 Dropbox 身份验证的问题,因为我可以成功地将文件上传到 Dropbox 文件夹,只是无法下载。
我最简单的可重现代码如下。对此的任何帮助将不胜感激!
#token <- drop_auth()
#saveRDS(token, "my-token.rds")
#drop_auth(rdstoken = "my-token.rds")
token <- readRDS("my-token.rds")
outputDir<-"Ed_app_save"
f_saveData <- function(data,name1)
data <- t(data)
fileName <- sprintf(name1, as.integer(Sys.time()), digest::digest(data))
filePath <- file.path(tempdir(), fileName)
write.csv(data, filePath, row.names = FALSE, quote = TRUE)
drop_upload(filePath, path = outputDir, dtoken = token)
f_loadData <- function(filename)
filesInfo <- subset(drop_dir(outputDir), name=filename)
filePaths <- filesInfo$path_display
data <- lapply(filePaths, drop_read_csv, stringsAsFactors = FALSE)
data
ui <- shinyUI(fluidPage(
br(),
actionButton("save_inputs", "Save inputs"),
actionButton("load_inputs", "Load inputs"),
br(),
br(),
div(uiOutput("intro_text"))
))
server <- shinyServer(function(input, output, session)
observeEvent(input$save_inputs,
f_saveData(c(1,2,3),"name_of_file.csv")
)
downloaded_stuff<-eventReactive(input$load_inputs,
f_loadData("name_of_file.csv")
)
output$intro_text<-renderUI(
tagList(div(
ifelse(input$load_inputs==0,
"Nothing loaded yet",
downloaded_stuff())
))
)
)
shinyApp(ui=ui,server=server)
【问题讨论】:
【参考方案1】:我设法解决了这个问题,发帖以防它帮助其他人。
问题在于 loadData 函数 - filePaths 返回文件夹中的多个文件。以下设法解决了这个问题。
f_loadData <- function(filename)
filesInfo <- subset(drop_dir(outputDir), name=filename)
temp <- filesInfo$path_display
filePaths <- temp[which(temp==paste0("/",outputDir,"/",filename))]
data <- drop_read_csv(filePaths)
data
【讨论】:
以上是关于drop_download 中的错误:冲突 (HTTP 409)的主要内容,如果未能解决你的问题,请参考以下文章