node服务文件下载响应头中文乱码报错

246 阅读1分钟

node服务实现一个文件上传和下载功能,在文件下载时因为文件名字含有中文,所以报错:

The header content contains invalid characters

源代码:

 res.writeHead(200, {
               'Content-Type': 'application/octet-stream;charset=UTF8',//告诉浏览器这是一个二进制文件
               'Content-Disposition': 'attachment; filename=' +files[0],//告诉浏览器这是一个需要下载的文件,files[0]是文件名
            });/

解决方案:

			res.attachment(files[0]) //告诉浏览器这是一个需要下载的文件,解决中文乱码
            res.writeHead(200, {
            'Content-Type': 'application/octet-stream;charset=UTF8',//告诉浏览器这是一个二进制文件
            });//设置响应头