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

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

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

发布了190 篇原创文章 · 获赞 19 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/zengchenacmer/article/details/46898377
今日推荐