На моем устройстве RaspberryPi, на котором запущен проект на основе Python / Pyramid, настроен портал авторизации.Когда вы подключаетесь к точке доступа устройства, она выдает уведомление, а когда вы щелкаете по этому уведомлению, вы переходите на определенную (по умолчанию) страницу, где у меня есть несколько ссылок, которые позволяют вам загружать файлы PDF и т. Д.
Работает просто отличнокогда вы используете браузер Chrome, Mozilla или любой другой браузер, кроме того, который открывает вашу страницу (по умолчанию), когда вы нажимаете на это уведомление.Я думаю, что это браузер для Android по умолчанию, но я не уверен в этом.
Вот краткий обзор моей html-страницы
<button class="btn btn-sm pdflink pdfdownload" href="${pdfurl}">
<i class="fa fa-file-pdf-o" aria-hidden="true"></i>
</button>
$(document).ready(function(){
$(".pdfdownload").click(function() {
var url = $(this).attr('href');
window.location = url;
});
});
И из представления о загрузке Pyramid:
@view_config(context=Product, name="download")
def pdfdownload(context,request):
blb = context.blobdata
resp=Response("Unable to fetch the attachment")
if blb:
resp=Response(content_disposition="attachment; filename="+blb.filename.encode('utf-8'),content_type=blb.contentType)
resp.app_iter = FileIter(blb.retFile(),block_size=4096 * 64)
resp.content_length = blb.size
return resp
Он не работает в остальных браузерах Android Captive Portal, везде работает нормально.