我想在网页上显示由pyBarcode生成的png或svg条形码。但我认为如果我不必将图像保存在服务器上会更好。无论如何我可以用pyBarcode做到这一点吗?或者使用python的任何其他条形码图像生成方法?
我正在使用pyramid作为Web框架,如果这会改变任何内容。
答案 0 :(得分:4)
将条形码直接写到response.body_file
:
barcode.writer import ImageWriter
ean = barcode.get_barcode('ean', '123456789102', writer=ImageWriter())
response = request.response
response.content_type = 'image/png'
ean.write(response.body_file)
答案 1 :(得分:0)
我看不出你如何能够提供甚至没有创建的文件。如果长时间不需要它,请考虑将其保存在/ tmp中,但是您将创建并提供一次。
答案 2 :(得分:0)
您应该可以通过创建返回文件对象的HTTP响应来完成此操作。
以便“http://mysite.com/someimage.png”的请求返回文件内容。
尝试写入pyramid.response.Response
对象的.body_file
。