/ / Ich versuche Base64 String eines Bildes zu bekommen - Python, html, django

Ich versuche Base64 String eines Bildes zu bekommen - Python, html, django

versuchen, base64-String eines Bildes zu erhalten, das vom Benutzer lokal hochgeladen wird. Mein HTML-Code ist-

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

und in meinen Ansichten

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

Ich bekomme Fehler

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

Antworten:

1 für die Antwort № 1

Hier ist galleryImage eine Dateiinstanz und keine URL. Sie lesen es also falsch.

Versuchen Sie das aus Ihrer Sicht.

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

Vergessen Sie auch nicht hinzuzufügen enctype="multipart/form-data" in deiner Form.


1 für die Antwort № 2

Kein Schema bedeutet, dass Sie das liefern müssen http:// (oder https://) zum Weg.

Bearbeite deinen Weg, um damit zu beginnen http:// und es sollte funktionieren.