gpt4 book ai didi

postgresql - 如何在 Nginx 中使用 Postgres 和静态文件操作

转载 作者:行者123 更新时间:2023-11-29 13:56:37 25 4
gpt4 key购买 nike

我想使用 Nginx 作为文件托管系统的 CDN。我看到了一个很棒的 nginx 模块,它允许 postgres 连接(https://github.com/FRiCKLE/ngx_postgres),它工作得非常好,但是当我尝试在具有别名指令的情况下使用它时,它似乎忽略了别名或文件下载,而是给我一个空文件。我的想法是,使用 URL 中的 UUID 并通过查询找到正确的文件,然后使用找到的详细信息更改文件名 header ,以便用户的客户端下载时自动将名称设置为原始文件名而不是 uuid。

这是代码。

    location /dl{
postgres_output none;
postgres_pass database;
postgres_query "SELECT * FROM \"Files\" WHERE uuid = '$args'";
postgres_set $filename 0 name;



alias /home/ubuntu/fileStorage;
add_header Content-Disposition "attachment; filename=$filename";

}

我认为 postgres 指令以某种方式锁定了这个 block 。有没有一种方法可以在不影响下载 block 的情况下运行 postgres 查询?

最佳答案

看来你希望这条线

add_header Content-Disposition "attachment; filename=$filename";

将导致浏览器下载由$filename 给出的文件。这不是 Content-Disposition header 的工作方式,它只是告诉浏览器将响应主体解释为文件。您将不得不做一些额外的事情才能将正确的内容提供给客户。也许您真正想要的是发出重定向?

关于postgresql - 如何在 Nginx 中使用 Postgres 和静态文件操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30559578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com