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