4

ABP (ASP.NET Boilerplate) Web API と angularjs を使用して SinglePageApplication を構築しています。angularおよびabpフレームワークを介してサーバー側のメソッドを呼び出すには、すでに機能しています。JSON データを送信するのは簡単ですが、ファイルを送信する方法がわかりません。

JSON-Data の送信例を次に示し
ます。

public class PostAppService : ApplicationService, IPostAppService
{
    public LoginOutput Login(LoginInput input)
    {
        doSomeStuffHere();
    }
}

[DependsOn(typeof(AbpWebApiModule))]
public class SimpleTaskSystemWebApiModule : AbpModule
{
    public override void Initialize()
    {
        IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());

        DynamicApiControllerBuilder
            .ForAll<IApplicationService>(Assembly.GetAssembly(typeof(SimpleTaskSystemApplicationModule)), "tasksystem")
            .Build();
    }
}

クライアントコード

(function() {
    var app = angular.module('app');

    var controllerId = 'sts.views.authentication.login';
    app.controller(controllerId, [
        '$scope', '$location', 'abp.services.tasksystem.authentication',
        function ($scope, $location, authService) {
            var vm = this;

            vm.user = {
                username: '',
                password: ''
            };

            var localize = abp.localization.getSource('SimpleTaskSystem');

            vm.login = function () {
                abp.ui.setBusy(
                    null,
                    authService.login(
                        vm.user
                    ).success(function(response) {
                        displayLoggedInMessage();
                    })
                );
            };
        }
    ]);
})();

私はこのようなことをしたいのですが、JSON-Data を送信する代わりに、次の方法で選択した画像を送信したいと思います。

<input type="file"/>

何か案は?

4

1 に答える 1