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

File 如何使用Flask在浏览器中打开文件,file,google-chrome,flask,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)使用其内

你好。有没有办法用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”。有没有办法实现这样的东西

尝试返回带有mimetype的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文档

您可以参考以下答案:

实际上,我可以用浏览器打开docx文件(谷歌浏览器,可能是我不太清楚的扩展名)。只是为了阅读,但已经足够了。谢谢你,它工作了!!!