Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;角度文件上传.js“;使用';node.js';_Javascript_Angularjs_Node.js - Fatal编程技术网

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();