如何使用Flask在浏览器中打开文件

时间:2018-08-22 17:46:42

标签: file google-chrome flask

兄弟。有什么办法可以使用Flask在浏览器中打开文件? 我可以读取文件的内容,然后使用以下命令将该内容返回到页面中:

@app.route('/open', methods=['GET', 'POST'])
def open():    
file = urllib.request.urlopen('file:///C:/app/files/file.txt')
content = file.read()
return content

我想强制浏览器(Google Chrome)使用它的内置功能来打开该文件,因为我的文件不是“ .txt”。通常是“ .docx”或“ .pdf”。是否有烧瓶方法来使类似的东西生效?

1 个答案:

答案 0 :(得分:1)

尝试返回如下MIME类型的PDF文件

from flask import send_from_directory
@app.route('/open', methods=['GET', 'POST'])
    def open():    
    return send_from_directory(directory='some_directory',
                           filename='filename',
                           mimetype='application/pdf')

您无法在浏览器中打开docx文件,因为浏览器无法呈现或读取这些文件。如果您仍然想这样做,则必须在iframe或其他解决方案中使用Google文档

您可以参考以下答案: How do I render a Word document (.doc, .docx) in the browser using JavaScript?