2018年2月17日 星期六

【Node.js】使用IncomingForm產生的物件的files參數來抓出檔案路徑與名稱,並用fs的rename方法來複製檔案到指定位置


var http = require('http');
var fs = require('fs');
var formidable = require('formidable');

http.createServer(function(req,res){
    if (req.url == '/fileupload') {
        var form = new formidable.IncomingForm();
        form.parse(req,function(err,fields,files){
            var oldpath = files.filetoupload.path;
            var newpath = 'C:/Users/Jerry_2/0218/'+files.filetoupload.name; //不可以跨磁碟
            fs.rename(oldpath,newpath,function(err){
                if(err) throw err;
                res.write('file upload');
                res.end();
            })
        })
    }else{
        res.writeHead(200, { 'Content-Type': 'text/html' });
        res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
        res.write('<input type="file" name="filetoupload"><br>');
        res.write('<input type="submit">');
        res.write('</form>');
        return res.end();

        // 以下方法會出錯
        // fs.readFile('0218-4.html',function(err,data){
        //     if(err) throw err;  
        //     res.writeHead(200,{'Content-type':'text/html'});
        //     res.write(data);
        //     res.end();
        // });
    }
}).listen(8080)

沒有留言:

張貼留言