これはかなり実行可能です。例については、 http://flask.pocoo.org/snippets/57/を参照してください。
@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def catch_all(path):
return 'You want path: %s' % path
/の後のすべてをフォルダへのパスとして処理する必要があります。次に、openを使用してそのファイル名を開き、Flask応答として書き込むことができます。
例えば
my_path = os.path.join(my_folder, path)
with open(my_path) as the_file:
# do stuff
os.path.separator
プラットフォームに依存しないように、パスをマッサージする必要があるかもしれませんos.path.join
。
また、返すファイルのmimetypeとを判別する必要があります。これは、モジュールを使用して実行できますmimetypes
。
また、ファイルを読み取って返すことなく、ファイルを直接返すメカニズムについては、このリンクを参照してください。Flaskを使用するPythonで、ダウンロード用のオブジェクトを書き出すにはどうすればよいですか?