Javascript &引用;角度文件上传.js“;使用';node.js';
我正在使用著名的Javascript &引用;角度文件上传.js“;使用';node.js';,javascript,angularjs,node.js,Javascript,Angularjs,Node.js,我正在使用著名的angular file upload.js模块上传文件 在本例中: 'use strict'; angular .module('app', ['angularFileUpload']) .controller('AppController', ['$scope', 'FileUploader', function($scope, FileUploader) { var uploader = $scope.uploader = new FileUploade
angular file upload.js
模块上传文件
在本例中:
'use strict';
angular
.module('app', ['angularFileUpload'])
.controller('AppController', ['$scope', 'FileUploader', function($scope, FileUploader) {
var uploader = $scope.uploader = new FileUploader({
url: 'upload.php'
});
// FILTERS
uploader.filters.push({
name: 'imageFilter',
fn: function(item /*{File|FileLikeObject}*/, options) {
var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;
}
});
// CALLBACKS
uploader.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/, filter, options) {
console.info('onWhenAddingFileFailed', item, filter, options);
};
uploader.onAfterAddingFile = function(fileItem) {
console.info('onAfterAddingFile', fileItem);
};
uploader.onAfterAddingAll = function(addedFileItems) {
console.info('onAfterAddingAll', addedFileItems);
};
uploader.onBeforeUploadItem = function(item) {
console.info('onBeforeUploadItem', item);
};
uploader.onProgressItem = function(fileItem, progress) {
console.info('onProgressItem', fileItem, progress);
};
uploader.onProgressAll = function(progress) {
console.info('onProgressAll', progress);
};
uploader.onSuccessItem = function(fileItem, response, status, headers) {
console.info('onSuccessItem', fileItem, response, status, headers);
};
uploader.onErrorItem = function(fileItem, response, status, headers) {
console.info('onErrorItem', fileItem, response, status, headers);
};
uploader.onCancelItem = function(fileItem, response, status, headers) {
console.info('onCancelItem', fileItem, response, status, headers);
};
uploader.onCompleteItem = function(fileItem, response, status, headers) {
console.info('onCompleteItem', fileItem, response, status, headers);
};
uploader.onCompleteAll = function() {
console.info('onCompleteAll');
};
console.info('uploader', uploader);
}]);
这行代码url:'upload.php'
向一些php
文件发送请求
我使用的不是php
,而是node.js
为了让它工作,我创建了一些app.js
文件,其中包含:
app.post('/loadFiles', function (request, response) {
response.send(200, { result: "ok" });
});
并将控制器的代码更改为url:'/loadFiles'
我可以看到正在调用此路由,但我不知道如何从request
获取图像
在谷歌搜索了几个小时后,我觉得我应该在uploader.onbeforeuploadeitem
事件控制器中将图像编码到item
中(然后在服务器端以某种方式解码图像),但我没有找到完整的示例,决定寻求您的帮助
您能指出什么是服务器端(或者也可能是控制器端)代码来将图像从用户的浏览器传递到服务器吗
谢谢大家! 好吧,这就是我想出来的: 在
uploader.onBeforeUploadeItem
中无需执行任何操作
要进入服务器端的文件,我所要做的就是:
app.post('/loadFiles', multipartyMiddleware, function (req, res) {
var file = req.files.file;
console.log(file.name);
console.log(file.type);
console.log(file.path);
res.send(200, { result: "ok" });
});
var multiparty = require('connect-multiparty'),
multipartyMiddleware = multiparty();