如何在Web上显示pyBarcode生成的图像而不保存

时间:2013-03-29 05:48:24

标签: python image pyramid

我想在网页上显示由pyBarcode生成的png或svg条形码。但我认为如果我不必将图像保存在服务器上会更好。无论如何我可以用pyBarcode做到这一点吗?或者使用python的任何其他条形码图像生成方法?

我正在使用pyramid作为Web框架,如果这会改变任何内容。

3 个答案:

答案 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