首页 > 解决方案 > 使用来自 web 应用程序的图像 blob 文件作为 python 程序的输入

问题描述

我创建了一个反应 Web 应用程序,其中画布图像以 jpeg 格式存储为文件 blob。如何使用这些 blob 作为对图像进行分类的 python 程序的输入?

blob生成函数如下:

clearCanvas({nativeEvent}) {

  this.canvas.toBlob(
   function(canvasDataBlob) { // anonymous callback with a handle to Blob
    var url=window.URL.createObjectURL(canvasDataBlob, {autoRevoke: true});
    var image=new Image();
    image.src=url;
    image.download="my-image.jpeg";
    document.body.appendChild(image);
   },
   "image/jpeg", 1.0 // optional arguments: MIME type and quality level
  );
  this.ctx = this.canvas.getContext('2d');
  this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
  }

标签: pythonblob

解决方案


最简单的方法是从该 blob创建一个下载链接,然后在下载的图像上手动运行 Python 脚本。

我假设您希望在同一网页中显示分类结果。为此,您必须向 Python Web 服务器发出 XMLHttpRequest,然后它将处理图像并将分类发送回浏览器。有关如何创建此类请求的信息,请参阅发送和接收二进制数据(MDN)。

如果您还没有网络服务器,我建议您查看FlaskTornado。但这不是解释这一切的地方,而且确实存在很好的教程。

如果这个答案没有帮助,我建议提出一个更具体的问题。告诉我们您正在尝试解决什么问题(而不仅仅是您认为需要的解决方案),并告诉我们您认为这个 Python 程序应该在哪里运行,或者您是否已经运行它并且知道它如何接收/解码图片,您已经尝试或阅读过的内容。


推荐阅读