【发布时间】:2017-12-12 18:08:44
【问题描述】:
我正在使用 ABP (ASP.NET Boilerplate) Web API 和 angularjs 来构建 SinglePageApplication。我已经可以通过 angular 和 abp 框架调用服务器端方法了。只发送 JSON 数据很容易,但我不知道如何发送文件。
以下是发送 JSON-Data 的示例:
Server-Code
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 数据,我想发送通过以下方式选择的图像:
<input type="file"/>
有什么想法吗?
【问题讨论】:
-
必须挂载一个FormData,然后通过$http.post发送。
-
服务器方法会是什么样子?它会得到哪个参数?
-
嗨Younk,你用ABP解决了吗?我现在处于同一点,但我还有解决方案
标签: angularjs asp.net-web-api single-page-application boilerplate asp.net-boilerplate