Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将文件从web下载到flask服务器_Python_File_Flask_Download - Fatal编程技术网

Python 将文件从web下载到flask服务器

Python 将文件从web下载到flask服务器,python,file,flask,download,Python,File,Flask,Download,我的flask应用程序应该从通过json对象发布到我的应用程序的URL下载文件。 应下载这些文件以便进一步处理。我没有收到错误消息。很多教程都是关于用户如何上传文件的,但这不是我的情况。有人能帮忙吗 import os from flask import Flask, request, jsonify import urllib.request as web app = Flask(__name__) download_folder=os.path.join(app.instance_pa

我的flask应用程序应该从通过json对象发布到我的应用程序的URL下载文件。 应下载这些文件以便进一步处理。我没有收到错误消息。很多教程都是关于用户如何上传文件的,但这不是我的情况。有人能帮忙吗

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)
urlretrieve(file\u url,local\u file)
是正确的方法,没有特定于Flask的内容

我建议您尝试使用Python解释器,看看这是否有效:

导入urllib.request >>>urllib.request.urlretrieve('http://some/url“,”/some/file/location.txt') 如果这样做有效,这意味着您的代码永远不会被执行

您可能需要打印
文件的值
以查看列表是否为空。

我找到了解决方案

对于从web下载到flask server,我不需要创建如下文件夹:

download\u folder=os.path.join(app.instance\u path,'downloads')
app.config['DOWNLOAD_FOLDER']=DOWNLOAD_FOLDER

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

os.makedirs('downloads')


真的simpel:)

谢谢<代码>文件不是问题所在。我没有正确创建
下载
文件夹。见下面我的答案。