скачать файл с веб-сервера - PullRequest
       22

скачать файл с веб-сервера

0 голосов
/ 04 октября 2019

Мое приложение фляги должно загружать файлы из URL-адресов, которые публикуются в моем приложении объектом 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)

Ответы [ 2 ]

0 голосов
/ 05 октября 2019

Я нашел решение!

для загрузки с веб-сервера во флеш-сервер. Мне не нужно создавать папку, подобную этой:

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

Мне просто нужно создать папку для загрузки с помощью:

os.makedirs('downloads')

действительно просто:)

0 голосов
/ 05 октября 2019

urlretrieve(file_url,local_file) является правильным способом сделать это, нет ничего конкретного для Flask.

Я предлагаю вам попробовать в интерпретаторе Python, чтобы увидеть, работает ли это:

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

Если это работает, это означает, что ваш код никогда не выполняется.

Возможно, вы захотите напечатать значение files, чтобы увидеть, не является ли список пустым.

...