首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Plumber API传输PDF文件?

如何使用Plumber API传输PDF文件?
EN

Stack Overflow用户
提问于 2021-06-30 03:23:35
回答 1查看 103关注 0票数 0

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

这是我当前的代码:

代码语言:javascript
复制
#* @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)


}

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-06 22:23:33

它是这样的:

代码语言:javascript
复制
#* @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)

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68184537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档