URLを訪れるだけでファイルをダウンロードするFlaskサーバーで簡単なルートを作成しようとしています。ここに私のフラスコのコードは次のとおりです。私はlocalhost:5000/mxl/
またはlocalhost:500/mxl
を訪問したときにFlaskルーティング - 404エラー
APP_ROOT = os.path.dirname(os.path.abspath(__file__))
UPLOAD_FOLDER = os.path.join(APP_ROOT, 'static/')
app = Flask(__name__, static_url_path=UPLOAD_FOLDER)
Bootstrap(app)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.debug = False
app.secret_key = 'notverysecret'
@app.route('/', methods=['GET', 'POST'])
def index():
...
return render_template('index.html', request="POST", pitches=pitches)
@app.route('/mxl/')
def mxl():
return app.send_static_file(UPLOAD_FOLDER + 'piece.mxl')
if __name__ == "__main__":
app.run()
しかし、私は、「要求されたURLがサーバー上に見つかりませんでした取得手動でURLを入力した場合は、あなたのスペルをチェックして、再度お試しください。 "エラー。私のコマンドラインでは、私は参照してください:
127.0.0.1 - - [27/May/2017 02:27:00] "GET /mxl/ HTTP/1.1" 404 -
どうしてですか?
私はapp.url_map
を実行すると、私は次のような出力が得られます。
Map([<Rule '/mxl/' (HEAD, OPTIONS, GET) -> mxl>,
<Rule '/' (HEAD, POST, OPTIONS, GET) -> index>,
<Rule '/home/myusername/guitartab/guitartab/static//bootstrap/<filename>' (HEAD, OPTIONS, GET) -> bootstrap.static>,
<Rule '/home/myusername/guitartab/guitartab/static//<filename>' (HEAD, OPTIONS, GET) -> static>])
を参照するとき、私はノーだファイル
piece.mxl
をダウンロードしますフラスコの専門家。しかし、私はこのWebサイトhttp://code.runnable.com/UiIdhKohv5JQAAB6/how-to-download-a-file-generated-on-the-fly-in-flask-for-pythonのアプローチを試してみました。 。ユーザーがボタンをクリックすると、ユーザーが何かをダウンロードできるようにしたいと思っています。基本的には、ユーザがそれを可能にするためにmake_responseメソッドが必要です。別の有益なリンクhttps://matthewmoisen.com/blog/how-to-download-a-csv-file-in-flask/ – arnold'app.run()'の前に、以下のようにしてください: 'print(app.url_map ) 'を入力し、質問を編集して出力を含めます。 – SuperSaiyan
このリンクのようにブラウザが自動的にファイルをダウンロードするようにします:https://api.flat.io/v2/scores/56ae21579a127715a02901a6/revisions/last/mxl – pk1914