我想获得一个图像的base64字符串

时间:2017-02-15 08:03:59

标签: python html django

尝试获取图像的base64字符串,该字符串由用户在本地上载。 我的HTML代码是 -

<div class="col-md-4">
      <label class="control-label"></label>
      <input type="file" name="galleryImage" class="filestyle" data-buttonText="Select a Image">
      <input class="btn btn-sm btn-info btn-block" name="getImageUrl" type="submit" Style="width: 100px;">
</div>

在我的观点中

galleryImageURL = request.POST.get('galleryImage')
print(galleryImageURL)
galleryImage = requests.get(galleryImageURL).content
print(galleryImage)
base64EncodedImageString = imageBase64Encode(galleryImage)
print(base64EncodedImageString)

def imageBase64Encode(galleryImage):
    with open(galleryImage, "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read())
    return encoded_string

我收到错误

Invalid URL '763814bc03a9838a7bae23ad4867ec01.jpg': No schema supplied. Perhaps you meant http://763814bc03a9838a7bae23ad4867ec01.jpg?

2 个答案:

答案 0 :(得分:1)

没有架构意味着您需要向路径提供http://(或https://)。

编辑您的路径以http://开头,它应该有效。

答案 1 :(得分:1)

这里galleryImage是一个文件实例,而不是一个url。 所以你读错了。

在您的视图中尝试此操作。

galleryImage = request.FILES['galleryImage'].read()
base64string = base64.encodestring(galleryImage)

另外,请不要忘记在表单中添加enctype="multipart/form-data"