2

我在我的 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 上不起作用,它在任何地方都可以正常工作。

4

0 回答 0