【发布时间】:2018-03-26 09:30:29
【问题描述】:
在我的 Web 应用程序中,用户可以上传一个 pdf 文件,并且该文件存储在 mysql 数据库本身中。该文件使用以下代码存储在数据库中。 注意:由于安全相关问题,文件保存在数据库中。
data=request.FILES['file'].read()
fcursor = db.cursor()
fcursor.execute("INSERT INTO REPORTS(DOC,id) VALUES(%s,%s)",(data,id))
db.commit()
fcursor.close()
db.close()
用户有权查看此 pdf。现在我在临时文件的帮助下将 pdf 传输到模板。
c = db.cursor()
c.execute("SELECT DOC FROM REPORTS WHERE id=%s",(id,))
file = c.fetchone()[0]
c.close()
f=tempfile.NamedTemporaryFile(dir='/tmp/',suffix='.pdf')
f.write(filename)
f.seek(0)
response = HttpResponse(f, content_type='application/pdf')
response['Content-Disposition'] = 'inline; filename="report.pdf"'
return response
但实际上,我想直接从数据库中显示 pdf,而不使用临时文件。
【问题讨论】:
标签: javascript python mysql django