level 1
Eylam
楼主
写了一个作业上交系统,上传文件时填写学号姓名就能把文件名重命名为“学号_姓名.zip”,现在想下载下来的文件名还是“学号_姓名.zip”,但是不知道content-disposition filename怎么赋值,在网上百度到的只能指定文件名,代码如下:
function download(response, request){
//读文件,返回给浏览器
//下载链接里包含了文件名,提取出来,再识别出来
//下载链接的url怎么得到?
var downloadUrl = url.parse(request.url, true).query;
console.log(downloadUrl);
console.log(downloadUrl.file);
var fileName = downloadUrl.file;
fs.readFile("./homework/"+fileName, "binary", function(error, file) {
if (error) {
response.writeHead(500, {"Content-Type" : "text/plain"});
response.write(error + "\n");
response.end();
}
else {
//console.log(fileName);
response.writeHead(200, {"Content-Type" : "application/zip", "Content-Disposition" : "attachment; filename=fileName.zip"});
response.write(file, "binary");
response.end();
}
});
}

这样下载来的文件名永远是“fileName.zip”,我想让它变成“学号_姓名.zip”的形式,求大神们告知filename怎么赋值啊?
2016年06月25日 09点06分
1
function download(response, request){
//读文件,返回给浏览器
//下载链接里包含了文件名,提取出来,再识别出来
//下载链接的url怎么得到?
var downloadUrl = url.parse(request.url, true).query;
console.log(downloadUrl);
console.log(downloadUrl.file);
var fileName = downloadUrl.file;
fs.readFile("./homework/"+fileName, "binary", function(error, file) {
if (error) {
response.writeHead(500, {"Content-Type" : "text/plain"});
response.write(error + "\n");
response.end();
}
else {
//console.log(fileName);
response.writeHead(200, {"Content-Type" : "application/zip", "Content-Disposition" : "attachment; filename=fileName.zip"});
response.write(file, "binary");
response.end();
}
});
}

这样下载来的文件名永远是“fileName.zip”,我想让它变成“学号_姓名.zip”的形式,求大神们告知filename怎么赋值啊?