问题描述:谷歌浏览器下载部分文件时,出现【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}"
);
如果不当之处敬请指正!