r-如何使用Plumber API传输PDF文件



我有一个API函数,它接受一个输入,使用该输入获取必要的数据,调用.rmd文件,并使用该.rmd文件在指定目录中生成一个pdf文件。我需要API的剩余部分来获取新生成的pdf文件,并通过HTTP发布它。然而,每当我尝试这样做时,我都会得到一个损坏的文件作为输出。

这是我当前的代码:

#* @serializer contentType list(type="application/pdf")
#* parameter_selection
#* @param a1
#* @get /pdf
function( a1) {

#Please assume that the filename location is correct. 
filename = paste0( a1, '_','report','.pdf', sepp='')
locale_filename = paste0('notebooks/',filename, sepp= '')
readBin(locale_filename, "raw", n=file.info(locale_filename)$size)

}

谢谢。

它是这样的:

#* @serializer contentType list(type="application/pdf")
#* parameter_selection
#* @param a1
#* @get /pdf
function( a1, res) {
#Please assume that the filename location is correct. 
filename = paste0( a1, '_','report','.pdf', sepp='')
locale_filename = paste0('notebooks/',filename, sepp= '')
tmp <- tempfile()
res$setHeader("Content-Disposition", paste0("attachment; filename=", basename(locale_filename)))
tmp <- rmarkdown::render(file_location ,output_file = paste0(this_title, sepp=''), envir = new.env(parent = globalenv()))

readBin(locale_filename, "raw", n=file.info(locale_filename)$size)

}

最新更新