【发布时间】:2019-11-23 05:00:06
【问题描述】:
我需要将一个字符串传递给一个 api,它是一个文件路径来处理文件并返回输出。示例:网址是
122.23.198.198:5000/D:/FILES/meta.pdf
这里的问题是linux机器中文件的路径是/D:/FILES/meta.pdf。问题在于 D 之前的斜杠:如何在我的烧瓶 api 路由中转义/添加双斜杠。我目前收到文件未找到错误。
参考代码:
app = Flask(__name__)
api = Api(app)
class ectdtext(Resource):
def get(self, result):
return {'data': ectd.convert(result)}
#api.add_resource(ectdtext, '/ectd/<result>')
#categorie
@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def get_dir(path):
categories = convert(path)
return categories
#@app.route('/get_dir/<path>')
#def get_dir(path):
# return path
if __name__ == '__main__':
app.run()
【问题讨论】:
-
您真的需要这样做吗,或者它可以像通常那样作为参数吗?
122.23.198.198:5000/?path=%2fD:%2fFILES%2fmeta.pdf -
可以是我展示的方式,也可以是你给的模式。它必须处理 5000/ 之后发送的文件并返回该文件的类别。如果我传递了您在 url 中发送的内容,则它现在无法正常工作。如何配置我的路由以接受它?
标签: python linux flask url-parameters slash