Я пытаюсь создать блестящее приложение, позволяющее людям загружать файл, и веб-страница выполняет функцию rio::convert()
, чтобы преобразовать файл .dta в файл .sav.
Это возможно? Как можно кодировать UI
и server
?
Я предпринял попытку:
ui.R
## -----
## ui.R
## -----
library(shiny)
library(markdown)
shinyUI(fluidPage(sidebarLayout(
sidebarPanel(fileInput('infile', label = "Datos en Stata (Máx. 30 MB)", buttonLabel = "Subir..."),
downloadButton('downloadData', 'Bajar Base')
),
mainPanel(
h3("Muestra de Datos"),
tableOutput("contents")
)
)))
server.R
options(shiny.maxRequestSize = 30*1024^2)
## --------
## server.R
## --------
library(rio)
library(shiny)
library(tools)
library(foreign)
server <- function(input, output) {
getData <- reactive({
inFile <- input$infile
if (is.null(input$infile))
return(NULL)
rio::import(inFile$datapath)
})
getData_proc <- reactive({
rio::export(file= "data.sav", x=getData())
})
output$contents <- renderTable(
head(getData())
)
output$downloadData <- downloadHandler(
filename = function() {
paste("data", Sys.Date(), ".sav", sep="")
},
content = function(x) {
# rio::convert(input$infile$datapath, "mtcars.sav")
#https://www.rdocumentation.org/packages/rio/versions/0.5.16/topics/export
#https://stackoverflow.com/questions/57493392/how-to-fix-file-not-found-when-using-the-downloadhandler
rio::export(getData(),file=x)
}
)
}
Предварительно веб-страница выглядит как this . Моя основная проблема заключается в том, что когда я загружаю файл и пытаюсь загрузить его, файл, в который я могу загрузить текстовый файл, который при загрузке показывает следующую ошибку: «Ошибка - проблема с сервером» .
Вы можете увидеть эту проблему здесь:
Журнал веб-страницы shinyapps
получает следующее сообщение:
Версия сервера : 1.8.0.3-19 R версия: 3.6.2 блестящая версия: 1.4.0
rmarkdown версия: (нет) LANG: es_MX.UTF-8 версия knitr: (нет)
Использование pando c: / opt / connect / ext / pandoc2 версия jsonlite: 1.6 httpuvversion: 1.5.2 версия htmltools: 0.4.0 версия RJSONIO: (нет)
Использование jsonlite для JSON обработка: запуск R с идентификатором процесса: '152'
Прослушивание http://127.0.0.1: 35337 Предупреждение: ошибка в write_sav _:
Ошибка записи: указанное имя начинается с недопустимого символа.
[Нет трассировки стека]:
Заранее спасибо