node如何实现获取文本框内的信息作为重命名的依据

新手上路,请多包涵

如图:用户输入学号、姓名,而后根据输入的学号姓名对上传的文件进行重命名
图片描述

由上面的得到接下来的
图片描述

然后改名之后的文件还需要添加超链接 可以进行下载

我目前的代码是
var fs=require("fs");
function start(response) {
console.log("Request handler 'start' was called.");
fs.readFile("./index.html", function (err, html) {

if (err) {
    throw err; 
}       
else {
    response.writeHead(200, {"Content-Type": "text/html;charset=utf-8"});  
    response.write(html);  
    response.end();  
}
});

}

function readCss(response){

fs.readFile("./a.css", function (err,css) {
if (err) {
    throw err; 
}       
else {
    response.writeHead(200, {"Content-Type": "text/css;charset=utf-8"});  
    response.write(css);  
    response.end();  
}
});

}

function readImg(response){

fs.readFile("./2016-12-24_BelarusDeer_1920x1200.jpg", function (err,jpg) {
if (err) {
    throw err; 
}       
else {
    response.writeHead(200, {"Content-Type": "text/jpg;charset=utf-8"});  
    response.write(jpg);  
    response.end();  
}
});

}

function upload(response,request){

console.log("upload函数被调用了!");

var formidable=require("formidable");
var form=new formidable.IncomingForm();
form.uploadDir="./homework";
form.parse(request,function(error,fields,files){
    console.log("文件解析还原完成!");
    fs.renameSync(testField+"_"+testField2+".zip");
    response.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
    response.write("You can download your homework:<br/>");
    response.write("<file src='/show'/>");
    response.end();        
});

}

function show(response){

console.log("show函数被调用!");
fs.readFile("./homework/testField_testField2.zip", "binary", function(error, file) {
if(error) {
  response.writeHead(500, {"Content-Type": "text/plain"});
  response.write(error + "\n");
  response.end();
} else {
  response.writeHead(200, {"Content-Type": "file/zip"});
  response.write(file, "binary");
  response.end();
 }

});
}

function download(response){

console.log("download函数被调用!");
fs.readFile("./homework/testField_testField2.zip",function(error,file){
    response.writeHead(200,{"Content-Type":"file/zip;charset=utf-8"});
    response.write(file);
    response.end();            
});

}

exports.start=start;
exports.readCss=readCss;
exports.readImg=readImg;
exports.upload=upload;
exports.show=show;
exports.download=download;
请帮忙!!

阅读 1.8k
1 个回答
 function upload(response,request){
    
    console.log("upload函数被调用了!");
    
    var formidable=require("formidable");
    var form=new formidable.IncomingForm();
    form.uploadDir="./homework";
    form.parse(request,function(error,fields,files){
        console.log("文件解析还原完成!");
        fs.renameSync(testField+"_"+testField2+".zip");
        response.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
        response.write("You can download your homework:<br/>");
        response.write("<file src='/show'/>");
        response.end();        
    });
}

你看form.parse(request,function(error,fields,files){}这个回调函数
第一个参数表示错误对象
第二个参数表示你的 表单提交的对象,你得确保你的input标签里面 有 name属性。 其实你完全可以输出看一下
第三个参数就表示你上传的文件信息

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题