我正在使用Python Flask后端和MongoDB / GridFS数据库在AngularJS前端构建一个webapp。
我想让客户端在浏览器中下载文件,例如直接下载网站。 该文件保存在gridFS
中以下是代码:
后端路由:
let query = {
sql:`SELECT id, name, description FROM articles WHERE lang = '` + req.swagger.params.lang.value + `' AND tags ARRAY['` + req.swagger.params.tag.value + `']::varchar[]`
};
后端处理(base_orga对象):
@router.route('/getOrgaUploadedDocument/<doc_id>/<doc_name>', methods=['GET'])
@requires_auth
def getOrgaUploadedDocument(user, doc_id, doc_name):
ret = base_orga.getOrgaUploadedDocument(user, doc_id)
return ret
前端:
def getOrgaUploadedDocument(user, doc_id):
gfile = db_filesystem.get(objectid.ObjectId(doc_id))
return Response(gfile, mimetype=gfile.doc_type, direct_passthrough=True)
}
所以我明显地在控制台中得到了我文件的原始字节。
但是我无法找到一种方法来制定在浏览器中触发文件下载的请求。
感谢。