首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Node.js的多幅图像上传

基于Node.js的多幅图像上传
EN

Stack Overflow用户
提问于 2015-12-31 04:37:45
回答 1查看 2.4K关注 0票数 3

我正在Node.js上工作,并试图处理多个图像。我使用下面的代码上传单个图像,然后将路径以字符串格式保存到数据库中。

代码语言:javascript
复制
 var multiparty = require("multiparty");
 var form = new multiparty.Form();

 form.parse(req, function(err, fields, files) {
     var img = files.image[0];
     var fs = require('fs');

     fs.readFile(img.path, function(err, data) {
         var path = "/path/to/upload/" + img.originalFilename;

         fs.writeFile(path, data, function(error) {
             if (error) console.log(error);
         });
     });
 })    

现在如何处理多个图像。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-31 06:37:46

代码语言:javascript
复制
var express = require('express'),
    app = express(),
    formidable = require('formidable'),
    util = require('util'),
    fs   = require('fs-extra'),
    bodyparser=require('body-parser'),
    qt   = require('quickthumb'),
    path    = require('path');


var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/db');

var Images = require('./model.js');



app.use(qt.static(__dirname + '/'));
app.use(bodyparser());
app.set('view engine','ejs');


app.post('/upload',function (req, res){ 

      var form = new formidable.IncomingForm();
     form.parse(req, function(err, fields, files) {
          });

     form.on('field',function(name,value){

      });



  form.on('end', function(fields, files) {

        for(var x in this.openedFiles)
        {
                //Images is my model
                var img = new Images();

                var temp_path = this.openedFiles[x].path;
               /* The file name of the uploaded file */
                var file_name = this.openedFiles[x].name;
                //console.log('file '+file_name);
                img.size = this.openedFiles[x].size;
                img.type = this.openedFiles[x].type;

                /* Location where we want to copy the uploaded file */
                var new_location = 'uploads/';

               console.log(img.nam=new_location+file_name);
               img.save(function(err,imgobj) {
                  if (err)
                   throw err;
               });    
                   //to copy the file into a folder         
                fs.copy(temp_path, new_location + file_name, function(err) {  
                  if (err) {
                    console.log(err);
                  }
               });//fscopy
          }//for loop

    });//form end
res.send('Done!!');

});//post
app.listen(3000);
console.log('started server');
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34541077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档