相关疑难解决方法(0)

从POST解码base64以在PIL中使用

我在Flask中创建了一个简单的API,它接受在base64中编码的图像,然后将其解码以便使用Pillow进行进一步处理.

我看了一些例子(1,2,3),我觉得我得到的过程的要点,但我不断收到一个错误的枕头无法读取我给它的字符串.

这是我到目前为止所得到的:

import cStringIO
from PIL import Image
import base64

data = request.form
image_string = cStringIO.StringIO(base64.b64decode(data['img']))
image = Image.open(image_string)
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

IOError: cannot identify image file <cStringIO.StringIO object at 0x10f84c7a0>
Run Code Online (Sandbox Code Playgroud)

python base64 python-imaging-library flask pillow

40
推荐指数
3
解决办法
3万
查看次数

从数据库中选择和编码 Base 64 图像时发现速度缓慢

我正在离子框架中工作。目前正在设计一个包含文本和图像的帖子页面。用户可以在那里发布数据和图像,所有这些都是安全的。

因此,我使用 Base 64 编码并将图像保存在数据库中。

encodeURIComponent($scope.image)
Run Code Online (Sandbox Code Playgroud)

每次当用户请求时,我从表中选择行并将它们与文本一起显示并对其进行解码。

decodeURIComponent($scope.image) 
Run Code Online (Sandbox Code Playgroud)

与 HTML"data:image/jpeg;base64,_______"转换。

工作正常,但花费了我预期的时间。因此,图像尺寸增大了 33%,并且看起来完全凸起。

然后我决定继续使用cordova的文件上传插件。但我意识到,以这种方式维护文件风险很大,而且很复杂。我还尝试将二进制数据保存到数据库中。但失败了。

没有 Base64 数据的文本选择大大减少了时间。在选择其他列并显示后,是否可以在另一个 http 调用中单独选择图像。这是处理安全图像的正确机制吗?

php mysql base64 angularjs ionic-framework

1
推荐指数
1
解决办法
6233
查看次数