1

ページでAngularJSを使用していますが、疑問があります。フォームで投稿するときに、選択したファイルを ASP.NET MVC 3 コントローラーに渡すにはどうすればよいですか? これをチェックしてください:

私のフォーム:

<form enctype="multipart/form-data" ng-controller="FilesController" ng-submit="submitingForm()">
    <div>
        Choose the file:
        <input type="file" onchange="angular.element(this).scope().setSelectedFile(this)" />
    </div>

    <input type="submit" value="Confirm" />
</form>

AngularJS コントローラー:

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

(function (ang, app) {

    function FilesController($scope, $http) {

        $scope.setSelectedFile = function (element) {
            $scope.$apply(function($scope) {
                $scope.selectedFile = element.files[0];
            });
        };

        $scope.submitingForm = function() {

            $http.post(url, ???????).success(function() {
                // How to pass that selected file for my ASP.NET controller?
            });
        }
    }

    app.controller("FilesController", FilesController);
})(angular, module);

ありがとうございました!!!

4

2 に答える 2

1

私は AngularJS にあまり詳しくありませんが、AJAX リクエストを使用してファイルをアップロードしようとしている場合は、忘れて構いません。それはできることではありません。HTML5 File APIファイルをサーバーに非同期でアップロードする場合は、 を使用できます。これにはentire section専用があります。

また、クライアント ブラウザが HTML5 ファイル API をサポートしていない場合は、FineUploaderまたはなどのファイル アップロード プラグインを使用できますUploadify(他にもたくさんありますが、Google だけです)。

于 2013-01-11T11:59:15.243 に答える