如何在 NextJS 上请求下载文件的权限?

How to ask for permission to download files on NextJS?

我有以下端点:

基础url.com/api/v1/datasheet/format

访问此 url 将下载基于数据表的特定信息。例如,在 Express 中,我使用 return 这个方法 if format = json:

const generateJSON = (res, data) => {
    res.header('Content-Type', 'application/json');
    res.attachment('example.json');
    return res.send(data);
}

这工作正常,但它会自动将文件下载为“example.json”,而无需征得用户下载文件的许可

我的目的是在我的前端有一个按钮(使用 NextJS),它会询问用户是否要下载文件(经典的下载或取消下载提示),然后打开文件资源管理器等。

我该怎么做?这是后端还是前端的东西?

使用Content-disposition: attachment; filename=example.json触发另存为对话框。

const generateJSON = (res, data) => {
    res.header('Content-Type', 'application/json');
    res.header('Content-disposition', 'attachment');
    res.attachment('example.json');
    return res.send(data);
}


The first parameter in the HTTP context is either inline (default value, indicating it can be displayed inside the Web page, or as the Web page) or attachment (indicating it should be downloaded; most browsers presenting a 'Save as' dialog, prefilled with the value of the filename parameters if present).

通过 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition#:~:text=The%20first%20parameter,parameters%20if%20present).