0

ng-file-uploadを使用して複数のファイルをアップロードしようとしていますが、うまく動作しないようです。

私のhtmlは

<input ngf-select ng-model="files" ngf-multiple="true" id="files" name="files" type="file" value="Choose File(s)" />

ファイルが追加された後のボタン

<button ng-click="uploadFiles(files)">Upload</button>

私のコントローラーは、githubと jsfiddle で提供されている例に似ています。

$scope.uploadFiles = function (files) {
    if (files && files.length) {
    angular.forEach(files, function (file) {
        $log.warn("counter");
        if (files && !file.$error) {
            file.upload = Upload.upload({
                url: "FileUpload.ashx",
                file: file,
                fields: {
                    FormInstanceGuid: $scope.model.FormInstanceGuid,
                    FormName: $scope.model.Template.Name
                }
            });

            file.upload.then(function (response) {
                $log.info("We have succeeded in our call!");
                $log.info(response);
            }, function (reason) {
                $log.info("We have failed in our call!");
                $log.info(reason);
            });
        }
    });

私の問題は、(サーバー上の) UploadHandler が 1 回だけ呼び出され、ファイルが 1 つしかないという事実に帰着します。

if (context.Request.Files.Count > 0) //This is never greater than 1
{
    HttpFileCollection SelectedFiles = context.Request.Files;
    for (int i = 0; i < SelectedFiles.Count; i++) {
        HttpPostedFile file = SelectedFiles[i];                        
    }
}

ネットワークタブを確認しましたが、各ファイルは独自の POST にあります。

4

0 に答える 0