Я пытаюсь отправить zip-файл, хранящийся в static/downloads/67
с именем August_#1.zip
. Все, что я пробовал, не работало, ничего не делало и не возвращало ошибок.
Я пытался использовать send_file
со всеми различными типами строк каталога, такими как;static/download/67 and /Users/...
@app.route('/download')
def download():
try:
#print(directory[:-(len(name)+1)])
#print(name)
#static_file_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'static')
#print(static_file_dir)
#return send_from_directory(static_file_dir+"/downloads/67", "August_1.zip", as_attachment=True)
url = request.args.get('url', 0, type=str)
print(url)
d = "/Users/<...>/static/downloads/67"
return send_from_directory(d, "August_#1.zip")
except Exception as e:
#print("Error")
return str(e)
return "Nothing"
Я бы хотел, чтобы файл zip загружался в веб-браузер клиентов.
Я новичок в веб-разработке, поэтому не очень уверен в работе с колбой.
Спасибо.
Редактировать:
После некоторой помощи у меня возникла проблема с нажатием кнопки , код в index.html
:
<div class="row" style="margin-bottom: 15px;margin-right: 0;margin-left: 0;">
<div class="col-md-6" style="padding-right: 0px;padding-left: 0%;width: 100%;">
<div class="d-flex justify-content-center align-items-center" style="margin-top: 0px;width: 100%;margin-left: 0px;height: 100%;padding-top: 6px;padding-bottom: 6px;"><input class="d-flex d-xl-flex justify-content-center m-auto align-items-xl-center" type="text" style="margin: 0px;padding: 0px;margin-right: 0px;width: 90%;height: 27px;padding-left: 5px;" name="url"></div>
</div>
<div class="col-md-6" style="padding-right: 0px;padding-left: 0px;">
<div class="d-flex justify-content-center justify-content-md-start justify-content-lg-start justify-content-xl-start align-items-xl-center" style="margin-top: 0px;width: 100%;height: 100%;padding-top: 6px;padding-bottom: 6px;"><button class="btn btn-primary text-center border-dark d-flex justify-content-center" style="height: 27px;padding: 0px;background-color: rgb(255,255,255);color: rgb(14,14,14);width: 20%;min-width: 90px;" type="button", id = "download" >Download</button></div>
</div>
</div>
...
<script type=text/javascript>
$(function() {
$('#download').bind('click', function() {
$.getJSON('/download', {
url: $('input[name="url"]').val(),
});
return false;
});
});
</script>