【发布时间】:2017-01-07 12:36:55
【问题描述】:
我在我的 nodejs 应用程序中使用 multer 来上传文件。和 angularjs 用于前端部分。单击上传图像后,在控制台上我会得到未定义的答案。任何人都可以帮我解决这个问题。 我在这里粘贴代码。 server.js
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var bodyParser = require('body-parser');
var path = require('path');
var fs = require('fs');
var spawn = require('child_process').spawn;
var multer = require('multer');
var storage = multer.diskStorage({
destination:function(req,file,cb){
cb(null,'public/upload/');
},
filename:function(req,file,cb){
cb(null,file.originalname);
}
});
var upload = multer({storage: storage});
app.set('views', __dirname + '/views');
app.use(bodyParser.json());
var urlencodedParser = bodyParser.urlencoded({ extended: true });
app.use(express.static('public'));
app.get('/',function(req,res){
res.render('index',{ title: 'Upload image' });
});
app.post('/loadImage',upload.any(),function(req, res) {
console.log(req.files);
console.log("Inside post");
});
http.listen(8080,'0.0.0.0',function(){
console.log('listening on 8080');
})
这是我的 app.js angularjs 代码
var app = angular.module('app',['ui.router','ui.bootstrap','ngAnimate']);
$scope.img={};
app.controller('Ctrl',function ($scope,$http){
$scope.loadImage = function(){
$http.post('/loadImage',$scope.img).success(function(data){
console.log('Posted successfully');
}).error(function(data){
console.error('error');
})
};
还有我的 HTML 代码:
<form ng-submit="loadImage()" enctype="multipart/form-data">
<input type="file" name="file" multiple />
<input type="submit" value="Upload Image" name="submit" />
</form>
在控制台上,我收到 Undefined and Inside post。在浏览器控制台上,我得到成功发布任何人都可以帮我解决这个问题。而不是 undefined 我应该得到加载的文件信息。
【问题讨论】:
标签: html angularjs node.js express multer