nodejs+ajax實現簡單的文件上傳功能


app.js中引入express的第三方中間件multer實現文件上傳功能。

var multer  = require('multer');//用express的第三方中間件 multer 實現文件上傳功能。
app.use(multer({//設置文件上傳到的位置
  dest: './public/images/upload',
  rename: function (fieldname, filename) {
    return filename;
  }
}));

路由

app.post('/upload', function (req, res) {
        req.flash('success', '文件上傳成功!');
        res.json({"result":{message:"文件上傳成功!"}});
    });

html

<input type="file" id="photo">

<button id="upload">上傳</button>

 

ajax

    /*上傳文件*/
        $("#upload").click(function(){
            //do something
            var file = $("#photo")[0].files;
            //上次修改時間
            console.log("文件上次修改時間"+file[0].lastModifiedDate);
            //名稱
            console.log("文件名稱"+file[0].name);
            //大小 字節
            console.log("文件大小"+file[0].size);
            //類型
            console.log("文件類型"+file[0].type);
            //創建FormData對象
            var data = new FormData();
            //為FormData對象添加數據
            $.each(file, function(i, file) {
                data.append('upload_file', file);
            });
            $.ajax({
                data: data,
                url: '/upload',
                type:"post",
                dataType: 'JSON',
                contentType: false,    //不可缺
                processData: false,    //不可缺
                success: function(data){
                    console.log(data);
                    alert("上傳成功!");
                },
                error: function(err){
                    console.log('error: ' + err);
                }
            });
        })

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM