我制作了一个管道工 API,如下所示:
#* @serializer contentType list(type="application/vnd.openxmlformats-officedocument.wordprocessingml.document")
#* @get /word
function(team){
tmp <- tempfile()
render("test.Rmd", tmp, output_format = "word_document",
params = list(team = team))
readBin(tmp, "raw", n=file.info(tmp)$size)
}
在本地运行它在 Windows 上运行良好,生成一个 docx 文件供下载。如果您在 Linux 上本地运行它并使用 Firefox,它似乎也可以正常工作,尽管它似乎在尝试打开或下载 docx 文件时使 Firefox 崩溃。
但是在 Linux 上本地运行并通过 Chrome 下载会产生操作系统无法识别的二进制文件。如果您选择“使用...打开... Libre Office Writer”,文件可以正常打开,但我确实需要我的用户获取格式正确的文件,该文件将自动打开。
我无法弄清楚问题是浏览器还是操作系统。任何帮助表示赞赏。
所有代码都在这个存储库中,正如我所说的在 Windows 中一切正常,所以我实际上认为它对其他人来说是一个有用的参考,但现在我无法让它在 Linux 上工作——这里