私は、プログラムでパワーポイントを作成し、最後にダウンロードできるようにする、WebアプリケーションでPython-pptxを使用しています。人々は画像などをアップロードし、それをそれらのためのパワーポイントに挿入することができる。フラスコのアプリケーションでpython-pptxで作成されたPPTX
現在、私はPowerPointを「静的」フォルダに保存しておき、ファイルパスを使ってダウンロードリンクを作成しています。
理想的には、ファイルをサーバーに保存しないことが理想的です。これは機密情報に関するプライバシー問題を防ぐためです。人々がログインする必要がないならば、それは素晴らしいことかもしれません。パワーポイントを作るための単純で安全な方法です。
私は無駄に動作するようにsend_fileを取得しようとしました。私はそれが解決策だと思う。
は、ここに私が試したものです:
prs = Presentation()
file_name = 'static/' + file_name + '.pptx'
root_dir = os.path.dirname(os.getcwd())
path = os.path.join(root_dir, 'project', 'static', 'test.pptx')
return send_file(prs, as_attachment=True)
# also tried:
# return send_file(path, mimetype='applicationvnd.openxmlformats-officedocument.presentationml.presentation', as_attachment=True)
# which loads the page, but doesn’t trigger a download,just loads a blank page.
# plus, it is referencing a file path which means the file was saved on the server
は、任意のヘルプをお願い申し上げます!それは私の最初のフラスコアプリです!
ありがとうございます!
のみインターネット上では、あなたはそれを作成した人からの応答を取得します:)お返事ありがとうございます! (と素晴らしい素晴らしいライブラリ!) 私はまだちょっと立ち往生しています。そのファイルがメモリ内にあれば、何を送信しますか? \tリターンsend_file(out_fileパラ、MIMEタイプ=「applicationvnd.openxmlformats-officedocument.presentationml.presentation」、as_attachment =真) –
まあ、私は私がしようとすると、あることをフラスコの質問だと思うが、: マイ送信ファイルは、今のようになります。 StringIOオブジェクトをout_fileとして使用し、それが機能するかどうかを確認します。典型的にはそうだろう。 send_file()のドキュメントでは、最初のパラメータの "filenameまたはfp"を認めています:http://flask.pocoo.org/docs/0.11/api/#flask.send_file。それがうまくいかない場合は、send_file()でStringIOオブジェクトを送信して検索してみてください。 – scanny
素晴らしい、ありがとうございます!答えを見つけたらコメントします。私send_fileた:) –