database - 如何使用beego从数据库中读取内容制作pdf文件?

标签 database pdf go beego

我阅读了一个 pdf 文件,然后将其原始内容存储到数据库中。现在我想从数据库中读取该内容并创建一个 pdf,以便用户可以下载。

为此,我阅读了内容并将其写入扩展名为 .pdf 的文件中。但结果是一个空的 pdf 文件。

我这样做是因为我想避免将文件保存在磁盘中。

我正在使用 beego 框架。

有什么建议/帮助吗?

这是我在做什么

读取pdf文件并写入数据库

_,header,_:=c.GetFile("attachment[]")
attachment:=header.Filename
c.SaveToFile("attachment[]","/tmp/"+attachment)
content,_:= ioutil.ReadFile("/tmp/"+attachment)
s := string(content)

然后将这个's'写入数据库

从数据库读取并写入pdf文件

err := o.Raw("SELECT attachment FROM table_name WHERE id=?",id).QueryRow(&att)
if err == nil {
     fmt.Println(att)
}
var data []byte
data = []byte(att)
ioutil.WriteFile("/tmp/hello.pdf",data, 0666)

最佳答案

您忽略了 GetFile 调用中的 multipart.File。直接用那个。将其写入磁盘并再次读回是浪费时间。

在从数据库读取文件和发送给客户端之间也没有理由将文件保存到磁盘。

(您可能希望确保您的数据库经过优化以处理像这样的大型 blob。这不是大多数数据库的常见用例。)

关于database - 如何使用beego从数据库中读取内容制作pdf文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27814336/

相关文章:

mysql - 如何更新silex(PHP微框架)中的表?

php - 查询结果的输出显示的行数多于应有的行数

java - 将 XML 文件渲染为 byte[] 格式的 PDF

php - 使用 PHP 和 Linux 从 PDF 文件中提取绘制的路径

http - golang : core net/http package import errors

mysql - 如何在 mysql 查询中使用 `fmt`

sql - 嵌套的 INSERT、UPDATE、DELETE 或 MERGE 语句必须在 UPDATE 中有一个 OUTPUT 子句

sql - 为什么 DB2 不使用我的 MQT 表?

pdf - iTextSharp 无法读取此 PDF 中的数字

go - 在 Go 模板中使用 {{}} 原始表达式