TypeError: The header content contains invalid characters
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
var iconvLite = require('iconv-lite'); res.setHeader('Content-disposition', 'attachment; filename=' + getDownloadFilename(req, filename)); function getDownloadFilename(req, filename) { var header = req.headers['user-agent']; if (header.includes("MSIE") || header.includes("Trident")) { return encodeURIComponent(filename).replace(/\\+/gi, "%20"); } else if (header.includes("Chrome")) { return iconvLite.decode(iconvLite.encode(filename, "UTF-8"), 'ISO-8859-1'); } else if (header.includes("Opera")) { return iconvLite.decode(iconvLite.encode(filename, "UTF-8"), 'ISO-8859-1'); } else if (header.includes("Firefox")) { return iconvLite.decode(iconvLite.encode(filename, "UTF-8"), 'ISO-8859-1'); } return filename; } |