Nginx 配置相同文件两种获取模式:预览及下载
时间: 2023-12-14 10:39:32 浏览: 153
Nginx配置实现下载文件的示例代码
5星 · 资源好评率100%
可以通过 Nginx 的 location 模块来实现相同文件的两种获取模式。下面是一个示例配置:
```
location /path/to/file {
# 预览模式
if ($arg_mode = preview) {
add_header Content-Disposition "inline";
}
# 下载模式
if ($arg_mode = download) {
add_header Content-Disposition "attachment";
}
# 公共配置
root /path/to/root;
index index.html;
}
```
以上配置将 `/path/to/file` 对应的文件以预览或下载两种模式进行处理。如果请求参数中包含 `mode=preview` ,则会以预览模式打开文件,如果请求参数中包含 `mode=download` ,则会以下载模式下载文件。如果没有指定请求参数,则默认以预览模式打开文件。
在上面的配置中,我们使用了 nginx 的变量 `$arg_mode` 来获取 url 请求中的参数。如果参数为 `preview` ,则添加一个 `Content-Disposition` 头部,值为 `inline` ,表示以预览模式打开文件;如果参数为 `download` ,则将 `Content-Disposition` 头部的值设为 `attachment` ,表示以下载模式下载文件。
这样,我们就可以通过 url 参数来选择文件获取模式了。
阅读全文