0

angularアップロードを使用してセイルでアップロードファイルコードを使用する方法を知りたい

これは角度のコードです

 var app = angular.module('app', ['angularFileUpload']);

        app.controller('ImageCtrl', ['$scope', '$upload', function ($scop

e, $upload) {
        $scope.$watch('files', function () {
            $scope.upload($scope.files);
        });

        $scope.upload = function (files) {

          window.alert(JSON.stringify(files));
            if (files && files.length) {
                for (var i = 0; i < files.length; i++) {
                    var file = files[i];
                    $upload.upload({
                        url: '???????',
                        fields: {
                            'username': $scope.username
                        },
                        file: file
                    }).progress(function (evt) {
                        var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
                        console.log('progress: ' + progressPercentage + '% ' +
                                    evt.config.file.name);
                    }).success(function (data, status, headers, config) {
                        console.log('file ' + config.file.name + 'uploaded. Response: ' +
                                    JSON.stringify(data));
                    });
                }
            }
        };
    }]);

上記のコードでは、何を URL に指定すればよいですか? 、私の要件は、sails mongodb を使用してローカルにファイルをアップロードしたいということです。

誰でもサーバー側のnodejsコードを共有してください..

4

1 に答える 1

0

Sails には、スキッパーと呼ばれる組み込みのストリーミング ファイル アップロード ユーティリティがあります。一般に、Angular から任意の Sails エンドポイントにファイルをアップロードできます。次に、コントローラーで次のようなことを実行するだけです。

req.file('avatar').upload(function (err, uploadedFiles){
    if (err) return res.send(500, err);
    return res.send(200, uploadedFiles);
});

スキッパーオプションを渡すこともできます:

req.file('avatar').upload({
    // ...any other options here...
}, ...);

アプリケーションがファイルを頻繁にアップロードする必要がある場合は、スキッパー API に基づいてこのためのサービスを作成することをお勧めします。

于 2015-03-04T15:39:13.520 に答える