![](/img/trans.png)
[英]How to send json data to web api from $http service in angular js
[英]Send an excel data to web api service from Angular UI
在我的UI項目中,我有一個文件上載器控件,如下所示:
<div class="col-lg-2 col-sm-2 col-md-2">
<div style="font-size:14px; ">
<label>Upload File</label>
<div class="ui-select">
<!--<div file-select="file"></div>-->
<input type="file" name="files" ng-files="getTheFiles($files)" />
</div>
</div>
</div>
指令ngFiles看起來像:
CaseModule.directive('ngFiles',['$ parse',function($ parse){
function fn_link(scope, element, attrs) {
var onChange = $parse(attrs.ngFiles);
element.on('change', function (event) {
onChange(scope, { $files: event.target.files });
});
};
return {
link: fn_link
}
}]);
因此,在控制器代碼中,我讀取了上傳的文件
//UPLOAD FILE CODE
var formdata;
$scope.getTheFiles = function ($files) {
formdata = new FormData();
angular.forEach($files, function (value, key) {
formdata.append(key, value);
});
};
// NOW UPLOAD THE FILES.
$scope.uploadFiles = function () {
var request = {
method: 'POST',
url: BasePath + 'caseNative/UploadFiles/',
data: formdata,
headers: {
'Content-Type': undefined
}
};
現在我不知道如何將這些excel數據發送到服務器。 在這方面有人可以幫我嗎? 我希望能夠讀取Excel數據。
提前致謝。
使用Asp.Net WebApi MVC,創建諸如FileUploadController
的控制器。
將API路由前綴添加到您正在使用的API。 HttpContext
庫,它將通過所述API讀取任何文件。
public class FileUploadController : ApiController
{
[Route("caseNative/UploadFiles/")]
[HttpPost]
public HttpResponseMessage UploadFile()
{
HttpResponseMessage response = null;
try
{
if (HttpContext.Current.Request.Files.AllKeys.Any()){
//If any file exist, then it would be available in the key
//you have appended while creating a formdata.
var httpPostedUploadFile = HttpContext.Current.Request.Files["Key"];
}
}
catch (Exception e)
{
throw ex;
}
}
上面的代碼適用於單個文件上傳,如果請求包含多個文件,則可以修改代碼以使文件循環。
此外,您可以在此處閱讀文檔 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.