#javascript #angularjs #csv #asp.net-web-api
#javascript #angularjs #csv-файл #asp.net-веб-api
Вопрос:
У меня есть приложение AngularJS, и я отправляю для загрузки файл svc на сервер следующим образом :
public static void DownloadCSV(string csvFile, string fileName)
{
HttpContext.Current.Response.AppendHeader("Content-Disposition",
"attachment; "
"filename=" fileName ".csv;"
"creation-date=" DateTime.Now.ToString() "; "
"modification-date=" DateTime.Now.ToString() "; "
"read-date=" DateTime.Now.ToString());
HttpContext.Current.Response.ContentType = "text/csv";
HttpContext.Current.Response.Write(csvFile);
HttpContext.Current.Response.End();
}
на стороне клиента я отправляю в функцию WebAPI с именем «exportToCsv», которая использует функцию DownloadCSV, таким образом :
var p = document.createElement('a')
p.setAttribute('href', "myApp/exportToCsv" )
p.click();
Моя проблема в том, что я хочу представить пользователю значок загрузки до тех пор, пока файл не завершит загрузку.
Как я могу это сделать?
Ответ №1:
Подготовьте html со значком загрузки (возможно, .gif), который находится по центру экрана, остальное может быть затенено;
<div ng-show="loading" ng-include src="'loading.html'" ></div>
На стороне JS перед началом загрузки установите для загрузки значение true, по завершении установите для него значение false
$scope.loading = false; // when starts
$scope.loading = false; // when finished
Комментарии:
1. моя проблема в том, что я не знаю, когда загрузка закончится! потому что я не знаю, когда сервер завершит загрузку
2. Тогда, возможно, вам следует выполнить поиск или задать вопрос о том, как определить, когда загрузка файла завершается.