Python Flask, Uploading a file - raise BuildError(endpoint, values, method) -
i followed this tutorial uploading files webserver via flask, notable exception of return part.
my intention upload pictures.
here's code:
from flask import flask, request, jsonify, json, blueprint, redirect, url_for, send_from_directory werkzeug import secure_filename app = flask(__name__) allowed_extensions = set(['png', 'jpg', 'jpeg', 'gif', 'bmp']) folder_upload = '/users/myusername/documents/project_upload/' @customersapi.route('/customers/addpicture', methods=['post']) def add_picture(): file = request.files['value'] print file.filename 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)) return str(url_for('uploaded_file', filename=filename)) return "unable upload." def allowed_file(filename): return '.' in filename , filename.rsplit('.', 1)[1] in allowed_extensions if __name__ == '__main__': app.config['upload folder'] = folder_upload app.run(host = '0.0.0.0', debug=true) as not have html files yet (hence commented out return redirect), use cocoarestclient testing, , here parameters used:

everything okay far, until hit submit button. then, following error appears:
traceback (most recent call last): file "/library/python/2.7/site-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) file "/library/python/2.7/site-packages/flask/app.py", line 1820, in wsgi_app response = self.make_response(self.handle_exception(e)) file "/library/python/2.7/site-packages/flask/app.py", line 1403, in handle_exception reraise(exc_type, exc_value, tb) file "/library/python/2.7/site-packages/flask/app.py", line 1817, in wsgi_app response = self.full_dispatch_request() file "/library/python/2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request rv = self.handle_user_exception(e) file "/library/python/2.7/site-packages/flask/app.py", line 1381, in handle_user_exception reraise(exc_type, exc_value, tb) file "/library/python/2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request rv = self.dispatch_request() file "/library/python/2.7/site-packages/flask/app.py", line 1461, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) file "/users/myusername/documents/project_omnimoda/api/main.py", line 192, in add_picture return redirect(url_for('uploaded_file', filename=filename)) file "/library/python/2.7/site-packages/flask/helpers.py", line 312, in url_for return appctx.app.handle_url_build_error(error, endpoint, values) file "/library/python/2.7/site-packages/flask/app.py", line 1641, in handle_url_build_error reraise(exc_type, exc_value, tb) file "/library/python/2.7/site-packages/flask/helpers.py", line 305, in url_for force_external=external) file "/library/python/2.7/site-packages/werkzeug/routing.py", line 1649, in build raise builderror(endpoint, values, method) builderror: ('uploaded_file', multidict([('filename', '3611571-dc_holiday.jpg')]), none) funny thing is, image '3611571-dc_holiday.jpg' did copied downloads folder project_upload folder, worked, there's error i'm not sure how solve.
any ideas? thanks.
you haven't defined uploaded_file endpoint. need that.
@customersapi.route('/customers/somethingogesthere') def uploaded_file(filename): # here file, return it. return send_from_directory( folder_upload, filename, as_attachment=true)
Comments
Post a Comment