微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 从base64代码保存图片

我想将此图片保存为base64,但是当我尝试这样做时会出现以下错误

Traceback (most recent call last):
  File "E:\Programs\Python\lib\site-packages\django\core\handlers\base.py",line
 116,in get_response
    response = callback(request,*callback_args,**callback_kwargs)
  File "E:\RSYearWork\ServerRS\Views\TestForAjaxView.py",line 27,in addAjax
    f.write(decodestring(request.POST['UplaodFile']))
  File "E:\Programs\Python\lib\base64.py",line 321,in decodestring
    return binascii.a2b_base64(s)
Error: Incorrect padding

bace64:

这是由base64 JavaScript和Filereader生成的,与上传图像时生成代码完全相同.使用Ajax我发送了它.
这个base64自动生成.

data:image/png;base64,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
最佳答案
您需要删除前导数据:image / png; base64,.只有之后的所有内容都是base64数据.

也许这样的事情(从你的调用堆栈猜测):

_,b64data = request.POST['UplaodFile'].split(',') # [sic]
f.write(decodestring(b64data))

编辑:回答Krasimir的评论

.split(‘,’)(在本例中)返回一个包含两个字符串的元组,即逗号(,)之前和之后的数据.第一个字符串是’data:image / png; base64′.第二个字符串是base64数据.左侧使用tuple unpacking将这两个字符串分配给名为_和b64data的变量. _只是一个变量,您可以将其重命名为任何有意义的变量. _ is typically used in tuple unpacking to signal “I don’t care about this part”.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


我最近重新拾起了计算机视觉,借助Python的opencv还有face_recognition库写了个简单的图像识别demo,额外定制了一些内容,原本想打包成exe然后发给朋友,不过在这当中遇到了许多小问题,都解决了,记录一下踩过的坑。 1、Pyinstaller打包过程当中出现warning,跟d
说到Pooling,相信学习过CNN的朋友们都不会感到陌生。Pooling在中文当中的意思是“池化”,在神经网络当中非常常见,通常用的比较多的一种是Max Pooling,具体操作如下图: 结合图像理解,相信你也会大概明白其中的本意。不过Pooling并不是只可以选取2x2的窗口大小,即便是3x3,
记得大一学Python的时候,有一个题目是判断一个数是否是复数。当时觉得比较复杂不好写,就琢磨了一个偷懒的好办法,用异常处理的手段便可以大大程度帮助你简短代码(偷懒)。以下是判断整数和复数的两段小代码: 相信看到这里,你也有所顿悟,能拓展出更多有意思的方法~
文章目录 3 直方图Histogramplot1. 基本直方图的绘制 Basic histogram2. 数据分布与密度信息显示 Control rug and density on seaborn histogram3. 带箱形图的直方图 Histogram with a boxplot on t
文章目录 5 小提琴图Violinplot1. 基础小提琴图绘制 Basic violinplot2. 小提琴图样式自定义 Custom seaborn violinplot3. 小提琴图颜色自定义 Control color of seaborn violinplot4. 分组小提琴图 Group
文章目录 4 核密度图Densityplot1. 基础核密度图绘制 Basic density plot2. 核密度图的区间控制 Control bandwidth of density plot3. 多个变量的核密度图绘制 Density plot of several variables4. 边
首先 import tensorflow as tf tf.argmax(tenso,n)函数会返回tensor中参数指定的维度中的最大值的索引或者向量。当tensor为矩阵返回向量,tensor为向量返回索引号。其中n表示具体参数的维度。 以实际例子为说明: import tensorflow a
seaborn学习笔记章节 seaborn是一个基于matplotlib的Python数据可视化库。seaborn是matplotlib的高级封装,可以绘制有吸引力且信息丰富的统计图形。相对于matplotlib,seaborn语法更简洁,两者关系类似于numpy和pandas之间的关系,seabo
Python ConfigParser教程显示了如何使用ConfigParser在Python中使用配置文件。 文章目录 1 介绍1.1 Python ConfigParser读取文件1.2 Python ConfigParser中的节1.3 Python ConfigParser从字符串中读取数据
1. 处理Excel 电子表格笔记(第12章)(代码下载) 本文主要介绍openpyxl 的2.5.12版处理excel电子表格,原书是2.1.4 版,OpenPyXL 团队会经常发布新版本。不过不用担心,新版本应该在相当长的时间内向后兼容。如果你有新版本,想看看它提供了什么新功能,可以查看Open