Flaskファイルアップロードダウンロード機能を実現

2425 ワード

ファイルのダウンロードの2つの方法は、1つはファイルurlを構築することであり、2つはflaskを使用することである.send_from_directory(directory,枨lename,**options)では、最初の方法を紹介します.私が書いているうちに発見しました.2つ目の方法はapiを調べましょう.紹介しません.ファイルのダウンロードは普通はすべて先に1つの“ダウンロード”のボタンがあって、クリックした后にファイルのダウンロードのヒントボックス(ブラウザ)が现れて、このヒントボックスが现れて成功したことを证明してまずhtmlテンプレートのファイルの上でどのように书くべきで、とても简単です:
pre><p><pre name="code" class="html"><input id="fat-btn" class="btn btn-default" type="button" value='Download' onclick="location.href='{{ url_for('download', filename=downUrl)}}'">  

その中のidとclassはbootstrapを使用しており、自分で交換することができます.もうちょっとurl_for(‘download’,filename=downUrl)は、最初のパラメータはビュー関数であり、関数名はdownloadであり、以下にこの関数コードがあり、2番目のパラメータdownUrlは別のビュー関数がテンプレートに渡されるパラメータであり、このパラメータの内容はダウンロードするファイルのパスであり、つまり私たちが構築したurlはファイルのダウンロードアドレスである.flaskアプリケーションを使用するには、staticフォルダの下に静的ファイルを置くことが望ましい.例えば、このようなダウンロードアドレス:127.0.0.1:5000/static/filenameパラメータdownUrlがstatic/filenameである.suffix’
上のdownload関数は次のとおりです.
@app.route('/')  
def download(filename):  
    return None