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',//告诉浏览器这是一个二进制文件
});//设置响应头