"angular-file-upload.js" file uploading using '

"angular-file-upload.js" file uploading using 'node.js'

本文关键字:quot using uploading js angular-file-upload file      更新时间:2023-09-26

我正在使用众所周知的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);
}]);  

这行代码CCD_ 2向某个CCD_。

我使用node.js而不是php

为了让它发挥作用,我创建了一些app.js文件,其中包含:

app.post('/loadFiles', function (request, response) {
    response.send(200, { result: "ok" });
});  

并将控制器的代码更改为CCD_ 7。

我可以看到这条路线正在被调用,但我不知道如何从这里的request获取图像。

经过几个小时的谷歌搜索,我觉得我应该在控制器中的uploader.onBeforeUploadItem事件中以某种方式将图像编码到item中(然后以某种方式在服务器端解码图像),但我没有找到完整的示例,决定寻求您的帮助。

你能指出服务器端(也可能是控制器端)的代码是什么吗?

谢谢!

好吧,这就是我想出来的:

uploader.onBeforeUploadItem内部没有任何操作。

为了进入服务器端的文件,我所要做的就是:

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