【发布时间】:2016-09-05 01:06:48
【问题描述】:
我正在使用angular 上传文件并尝试访问flask 中的上传文件。
这没问题,工作正常。但是,当我添加更多请求参数时,我似乎无法在 flask request 对象中找到它们。
例如,使用ngFileUpload (https://github.com/danialfarid/ng-file-upload) 上传文件我可以像这样指定更多元信息:
$scope.upload = function (file) {
Upload.upload({
url: '/api/upload',
data: {file: file, 'username': $scope.username}
})
};
username 是额外的元信息。
这是烧瓶代码(使用 Flask-Restful):
from flask import Flask, request, Response
from flask.ext.restful import Api, Resource
ALLOWED_EXTENSIONS = {'csv'}
def allowed_file(fn):
return '.' in fn and fn.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
app = Flask(__name__)
api = Api(app)
class Upload(Resource):
def post():
file = request.files['file']
fn = file.filename
if file and allowed_file(fn):
try:
# code for saving file
return Response(status=200)
except:
return Response(status=500)
return Response(status=500)
api.add_resource(Upload, '/api/upload')
在烧瓶中,我可以通过request.files['file'] 访问file,但找不到username 信息/变量。
这在烧瓶中是不可能的吗,我错过了什么,或者这里发生了什么?
【问题讨论】:
-
你能分享你的烧瓶代码吗?绝对可以访问flask中的url参数,但为了帮助您,我们需要查看路由代码。
-
@ciacicodeflask 代码很简单,但我按要求添加了。
-
有人找到解决方案了吗?我遇到了和蒂姆一样的问题。我在烧瓶应用中添加了 CORS,但似乎找不到
username参数。
标签: python angularjs file-upload request