谷歌浏览器下载文件,ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION

1,567 阅读1分钟

问题描述:谷歌浏览器下载部分文件时,出现【ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION】报错;

原因分析:下载的文件名中携带了逗号【,】,导致浏览器认为设置了多个请求头。

EG: let fileName = 'file-name(x,y).docx'; response('content-disposition', attachment; filename=${fileName}); 这样浏览器可能会解析为:response('content-disposition', 'attachment; filename=file-name(x', 'y).docx');

解决方案: 方案一:将【,】替换为其他字符,fileName = fileName.replace(/,/g, '_'); 方案二:将fileName用【""】包裹起来,response('content-disposition', attachment; filename="${fileName}");

如果不当之处敬请指正!