python - Using the Flask-RESTFUL, how do I implement file/photo uploading in one of the post methods? -


i've been messing around quite time following instructions such as, http://flask.pocoo.org/docs/0.10/patterns/fileuploads/ , trying use flask-uploads (i not import correctly, keeps saying cannot import extension). i'm going stick flask's methods uploading photos.

anyways, figured flask-restful pretty standard:

from flask import make_response, flask, request, jsonify, redirect, url_for flask.ext.sqlalchemy import sqlalchemy flask_restful import reqparse, abort, api, resource flask.ext.httpauth import httpbasicauth werkzeug import secure_filename import os   app = flask(__name__) db = sqlalchemy(app) app.config['sqlalchemy_database_uri'] = 'mysql://thanks:foryourhelp@localhost' upload_folder = '~/documents/app/static' allowed_extensions = set(['pdf', 'png', 'jpg', 'jpeg', 'gif']) app.config['uploads_folder'] = upload_folder    api = api(app) auth = httpbasicauth() class uploadphoto(resource):   decorators = [auth.login_required]    def __init__(self):     self.reqparse = reqparse.requestparser()     self.reqparse.add_argument('image', type = str, default="")     self.reqparse.add_argument('lat', type = float,  default="")     self.reqparse.add_argument('lon', type = float,  default="")     super(uploadphoto, self).__init__()    def post(self):     file = request.files['file']     if file , allowed_file(file.filename):       filename = secure_filename(file.filename)       file.save(os.path.join(app.config['upload_folder'], filename))       return redirect(url_for('uploaded_file', filename=filename))    api.add_resource(uploadphoto, '/uploads/') 

so wanted test , upload file using python's requests library uploading photo, , line of code that's throwing error is:

    file.save(os.path.join(app.config['upload_folder'], filename)) keyerror: 'upload_folder'  

is because i'm using flaskrestful? have different way of setting api using resources. anyways, i'm stuck , working, thanks.

you have app.config['uploads_folder'] = upload_folder , in post function use app.config['upload_folder']. should use app.config['uploads_folder'].


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -