Its showing error LookupError: 'base64' is not a text encoding; use 
codecs.decode() to handle arbitrary codecs.

Last few lines when the execution stops are - thumbnail = 
resize(photo_data, 200, 200) File "/home/anurag/photoshare/app.py", line 
406, in resize image_string = StringIO(img.decode('base64')) LookupError: 
'base64' is not a text encoding; use codecs.decode() to handle arbitrary 
codecs
begin photo uploading codephotos uploaded using base64 encoding so they can 
be directly embeded in HTML

ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg', 'gif'])def 
allowed_file(filename):``return '.' in filename and filename.rsplit('.', 1)[1] 
in 
ALLOWED_EXTENSIONS
@app.route('/upload', methods=['GET', 'POST'])@flask_login.login_requireddef 
upload_file():if request.method == 'POST':
    uid = getUserIdFromEmail(flask_login.current_user.id)
    imgfile = request.files['photo']
    caption = request.form.get('caption')
    album_id = request.form.get('album')
    tags = request.form.get('tags')
    photo_data = base64.standard_b64encode(imgfile.read())
    thumbnail = resize(photo_data, 200, 200)
    cursor = conn.cursor()
    cursor.execute("INSERT INTO Photos (imgdata, thumbnail, user_id, 
caption, album_id) VALUES ('{0}', '{1}', '{2}', '{3}', 
'{4}')".format(photo_data, thumbnail, uid, caption, album_id))
    conn.commit()
    picture_id = cursor.lastrowid
    print (picture_id)
    print (tags)
    insert_tags(picture_id, tags)
    return redirect( url_for('get_album', id=album_id))#The method is GET so we 
return a  HTML form to upload the a photo.else:
    return render_template('upload.html', loggedin=True, 
albums=get_all_album_data())

end photo uploading coderesizes if greater than (x,y) else returns original

def resize(img, x,y):
image_string = StringIO(img.decode('base64'))with Image.open(image_string) as 
image:
    if image.size[0] > 200 and image.size[1] > 200:
        cover = resizeimage.resize_cover(image, [x,y])
        buffer = StringIO()
        cover.save(buffer, format="JPEG")
        return base64.b64encode(buffer.getvalue())
    else:
        return img

Then there is another filefor image. from PIL import Image from io import 
StringIO from resizeimage import resizeimage import os, base64

 def resize(img, x,y):
image_string = StringIO(img.decode('base64'))``with Image.open(image_string) as 
image:
    if image.size[0] > 200 and image.size[1] > 200:
        cover = resizeimage.resize_cover(image, [x,y])
        return base64.standard_b64encode(cover)
    else:
        return img``

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/a9dafe13-12eb-4be4-bce9-e813854168d1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to