Python 使用Flask RESTFUL,如何在post方法之一中实现文件/照片上传?
事实上,我已经在这方面混了很长一段时间了,现在我遵循如下指示:, 甚至尝试使用flask上传(我无法正确导入,因为它一直说我无法导入扩展)。所以我将继续使用Flask上传照片的方法 不管怎么说,我觉得我的瓶子很标准:Python 使用Flask RESTFUL,如何在post方法之一中实现文件/照片上传?,python,flask,flask-restful,Python,Flask,Flask Restful,事实上,我已经在这方面混了很长一段时间了,现在我遵循如下指示:, 甚至尝试使用flask上传(我无法正确导入,因为它一直说我无法导入扩展)。所以我将继续使用Flask上传照片的方法 不管怎么说,我觉得我的瓶子很标准: from flask import make_response, Flask, request, jsonify, redirect, url_for from flask.ext.sqlalchemy import SQLAlchemy from flask_restful im
from flask import make_response, Flask, request, jsonify, redirect, url_for
from flask.ext.sqlalchemy import SQLAlchemy
from flask_restful import reqparse, abort, Api, Resource
from flask.ext.httpauth import HTTPBasicAuth
from 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 and 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/')
所以我想通过上传一张照片来测试它,并使用python的请求库上传一个文件,引发错误的代码行是:
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
KeyError: 'UPLOAD_FOLDER'
是因为我用的是满瓶的吗?我有一种使用资源设置api的不同方法。不管怎么说,我被卡住了,我想让它工作起来,谢谢 您拥有
app.config['UPLOADS\u FOLDER']=UPLOAD\u FOLDER
,然后在post
功能中使用app.config['UPLOAD\u FOLDER']
。您应该使用app.config['UPLOADS\u FOLDER']