您的位置:首页 > 数据库 > MySQL

将一些文档(.zip,.txt,.pdf)进行流处理,存储到mysql中blob字段中

2015-07-22 00:51 603 查看
在网页应用中,有时候我们需要用户上传文档,并且把用户上传的文档进行存储,然后供用户操作,对于这种操作有两种方法实现。

1、用户上传文档后,把文档存储到某个路径下,然后在数据库中存储这个路径和文档名

2、用户上传文档后,进行二进制读取(流处理),然后把读取出来的二进制存储到数据库中

下面进行方法 2 进行实现。

环境: python、mysql

首先我们要进行读取文件

f = open('xxx.zip', 'rb')
data = f.read()


然后把 data 存储到mysql中

cxn = MySQLdb.connect(....)
cur = cxn.cursor()
sql = 'insert into table_name (...) values(...)'%MySQLdb.Binary(data)
cxn.commit()
cxn.close()


这样就把文档转变成二进制之后,存储到了mysql数据库,下次取出时,只需要把取出的数据存储到一个文档中。

注意点:

1、在python的本身库(不用其他第三方库)环境下,不能实现pdf文件的转化

2、在数据库中,记得把该字段,定义成二进制字段

如果需要对pdf文档进行转化,可以用python的这个库PyPDF
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: