在MySQL数据库中存储PDF(Store PDF in MySQL database)

2019-07-03 14:17发布

我正在开发一个应用程序,我需要在PDF创建发票。 我使用pdfbundle和PDF文件被正确创建:

public function helloAction()
{
    $format = $this->get('request')->get('_format');
    $name = "work!!!";
    return $this->render(sprintf('miomioBundle:Venta:helloAction.%s.twig', $format), array('name' => $name));
}

但是,我怎么能存储在数据库中的文件?

Answer 1:

你会好得多将其存储在磁盘上的文件,并在数据库中引用它们的位置。 所以专卖店:

/path/to/store/invoice_434992.pdf

在相关的表格,你需要每一个独特的文件名和引用它。



Answer 2:

你有什么想这些PDF存储在数据库中的任何特殊要求。 通常它是一个坏主意,存储在数据库中的大型二进制内容。

让发票在文件中,具有独特的文件名,并存储只是在数据库表文件的路径。



Answer 3:

我已经做到了这一点。 还有艾弗里就如何做到这一点的好文章。

http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/uploading-files-to-mysql-database.aspx

正如其他人所说,这可能不是存储在数据库中的二进制数据是个好主意。



Answer 4:

你可以在数据库中创建一个表,它是:

____________________________________________
| ID | TIME | QUERY | PDF_NAME | PDF_FILE  |
|----|------|-------|----------|-----------|
... 

类型的PDF_FILE的将BLOB,其余是不言自明的。 这样一来,如果你愿意,你可以搜索所发生前阵子一个查询的结果。



文章来源: Store PDF in MySQL database