Javascript res.download在node.js中未在Chrome中重命名文件

Javascript res.download在node.js中未在Chrome中重命名文件,javascript,node.js,google-chrome,express,Javascript,Node.js,Google Chrome,Express,,我们应该能够在文件在浏览器中呈现给用户之前,通过以下方式重命名文件:res.download(path,desiredName) 在我的代码中,我有以下内容,以尝试查看发生了什么: res.download(fpath, "hello.jpg"); 当我尝试在Chrome中下载文件时,我得到了文件的“哈希”名称,因为我将其存储在文件系统中以避免相同的名称冲突,请查看图像: 但在microsoft edge(非铬变体)中,我得到了文件的预期名称: 我应该如何强制chrome接受预期的文件名

,我们应该能够在文件在浏览器中呈现给用户之前,通过以下方式重命名文件:res.download(path,desiredName)

在我的代码中,我有以下内容,以尝试查看发生了什么:

res.download(fpath, "hello.jpg");
当我尝试在Chrome中下载文件时,我得到了文件的“哈希”名称,因为我将其存储在文件系统中以避免相同的名称冲突,请查看图像:

但在microsoft edge(非铬变体)中,我得到了文件的预期名称:

我应该如何强制chrome接受预期的文件名,而不是将该文件名保留在文件路径中

router.get(“/downloadfile/”,确保重新验证,异步(req,res)=>{
试一试{
让fileId=req.query.id;
让fileInfo=wait axios.get(
`http://localhost:5000/api/files/getfile/${fileId}/`
);
让我们走吧=
__肮脏的+
“/../public/ficheiros/”+
fileInfo.data.userAt+
"/" +
fileInfo.data.name;
res.download(fpath,“hello.jpg”);
}捕获(错误){
res.jsonp(error.response.data);
}
});
编辑:我这样称呼下载,在前端:

if(f.mimetype==“image/png”| | f.mimetype==“image/jpeg”){
var ficheiro=$('');
}else var ficheiro=$(“”+f.originalname+“

”); var下载=$( '' );
能否显示如何从html/js端调用
/downloadfile/
?Chrome中请求的
内容处置
响应头显示了什么?@AndrewLohr如何检查内容处置?至于另一个问题,请检查编辑如果您打开chrome开发者控制台并转到网络选项卡,您可以查看有关您的请求的信息。还可以尝试将
download=“hello.jpg”
作为锚定标记的属性添加。我不确定Chrome为什么不尊重标题,但这至少可以解决您的问题。