Muat turun Fail daripada Kaedah API Web ASP.NET menggunakan AngularJS
Apabila membangun dengan AngularJS, selalunya perlu memuat turun fail daripada sumber luaran . Ini boleh dicapai dengan membuat permintaan HTTP GET kepada kaedah API Web yang mengembalikan fail yang diingini.
Melaksanakan Permintaan dalam AngularJS
Untuk memulakan proses muat turun dalam AngularJS, anda boleh menggunakan perkhidmatan $http untuk membuat permintaan HTTP GET kepada kaedah API Web anda. Berikut ialah contoh:
$scope.getthefile = function () { $http({ method: 'GET', cache: false, url: $scope.appPath + 'CourseRegConfirm/getfile', headers: { 'Content-Type': 'application/json; charset=utf-8' } }).success(function (data, status) { // Handle the downloaded file here }).error(function (data, status) { // Handle any errors that may occur }); }
Memulangkan Fail daripada Kaedah API Web
Dalam kaedah API Web ASP.NET anda, anda perlu mengkonfigurasi respons untuk menunjukkan bahawa kandungan yang dikembalikan adalah fail untuk dimuat turun. Berikut ialah contoh:
[Authorize] [Route("getfile")] public HttpResponseMessage GetTestFile() { HttpResponseMessage result = null; var localFilePath = HttpContext.Current.Server.MapPath("~/timetable.jpg"); if (!File.Exists(localFilePath)) { result = Request.CreateResponse(HttpStatusCode.Gone); } else { // Serve the file to the client result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new StreamContent(new FileStream(localFilePath, FileMode.Open, FileAccess.Read)); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentDisposition.FileName = "SampleImg"; } return result; }
Mengendalikan Fail yang Dimuat turun dalam AngularJS
Terdapat dua kaedah yang boleh anda gunakan untuk mengendalikan fail yang dimuat turun dalam AngularJS:
$scope.downloadFile = function (downloadPath) { window.open(downloadPath, '_blank', ''); }
$scope.downloadFile = function (httpPath) { $http.get(httpPath, { responseType: 'arraybuffer' }) .success(function (data, status, headers) { // Handle the downloaded file here using the data }).error(function (data, status) { // Handle any errors that may occur }); }
Ingat untuk mengkonfigurasi kaedah API Web anda untuk nyatakan pengepala respons yang sesuai, termasuk nama fail x dan jenis kandungan.
Dengan melaksanakan ini teknik, anda boleh memuat turun fail dengan lancar daripada kaedah API Web ASP.NET menggunakan AngularJS, memastikan pengalaman pengguna yang lancar dan berfungsi.
Atas ialah kandungan terperinci Bagaimana untuk Muat Turun Fail dari API Web ASP.NET Menggunakan AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!