我在我的 RaspberryPi 设备上设置了一个强制门户,它运行基于 Python/Pyramid 的项目。当您连接到设备的热点时,它会发出通知,当您单击该通知时,它会将您带到定义的(默认)页面,我有多个链接可让您下载 PDF 文件等。
当您使用 Chrome 浏览器或 Mozilla 或任何其他浏览器时,它工作得很好,除了当您单击该通知时将您带到定义(默认)页面的浏览器。我认为这是一个默认的安卓浏览器,但我不确定。
这是我的 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 Browser 上不起作用,它在任何地方都可以正常工作。