1. 程式人生 > >nodejs+multiparty 檔案上傳

nodejs+multiparty 檔案上傳

轉自 https://www.cnblogs.com/leijee/p/7457802.html

通過表單提交上傳檔案:

    html程式碼

<form action="/uploadFile" method="post" enctype="multipart/form-data">
      <input type="file" class="files" id="files" name="files">
      <input type="submit" class="uploadFile" value="檔案上傳">
</form>
windows下安裝multiparty
npm install multiparty
multiparty使用:multiparty文件 https://www.npmjs.com/package/multiparty
multiparty程式碼

複製程式碼

var multiparty = require('multiparty');
app.post('/uploadFile',function(req.res){
    var form = new multiparty.Form();
    // res.setHeader('text/plain');
    var msg = {info:'',img:''};
    console.log(__dirname);
    form.encoding = 'utf-8';
    form.uploadDir = __dirname+"/uploads";

    //設定單檔案大小限制
    form.maxFilesSize = 2 * 1024 * 1024;
    //form.maxFields = 1000;  設定所以檔案的大小總和
    form.parse(req, function(err, fields, files) {
        if(err){
            console.log('錯誤');
            msg.info = '上傳失敗';
            res.send(msg);
            return ;
        }
        console.log(files.files[0].originalFilename);
        msg.img=path.join(__dirname,'/uploads/'+files.files[0].originalFilename);
        console.log(msg.img);
        msg.info = '上傳成功'
        msg.len = files.length;
        res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
        res.send(msg);
    });

});

複製程式碼

參考連結:

https://www.npmjs.com/package/multiparty

https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/form