[从Web下载到烧瓶服务器的文件

问题描述 投票:0回答:2

我的烧瓶应用程序应从通过json对象发布到我的应用程序的网址中下载文件。应下载文件以进行进一步处理。我没有收到错误消息。很多教程都是关于用户如何上传文件的,但这不是我的情况。谁能帮忙?

import os


from flask import Flask, request, jsonify
import urllib.request as web

app = Flask(__name__)
download_folder=os.path.join(app.instance_path,'downloads')
app.config['DOWNLOAD_FOLDER'] = download_folder


@app.route('/syncaudio', methods=['POST'])
def syncaudio():
    files = request.get_json(force=True)

    for file_url in files['syncFileUrls']:
        local_file = os.path.join(app.config['DOWNLOAD_FOLDER'], file_url.rsplit('/')[-1])
        web.urlretrieve(file_url, local_file)


if __name__ == '__main__':
    app.run(debug=True)
python file flask download
2个回答
0
投票

urlretrieve(file_url,local_file)是正确的方法,Flask并没有特定的内容。

我建议您尝试使用Python解释器,看看是否可行:

>>> import urllib.request
>>> urllib.request.urlretrieve('http://some/url', '/some/file/location.txt')

如果可行,这意味着您的代码将永远不会执行。

您可能希望打印files的值以查看列表是否为空。


0
投票

我找到了解决方案!

用于从Web下载到烧瓶服务器,我不需要创建这样的文件夹:

download_folder=os.path.join(app.instance_path,'downloads') app.config['DOWNLOAD_FOLDER'] = download_folder

我只需要通过以下方式创建一个下载文件夹:

os.makedirs('downloads')

真正的Simpel:)

© www.soinside.com 2019 - 2024. All rights reserved.