> 백엔드 개발 > C++ > AngularJS를 사용하여 ASP.NET 웹 API에서 파일을 다운로드하는 방법은 무엇입니까?

AngularJS를 사용하여 ASP.NET 웹 API에서 파일을 다운로드하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-02 21:57:39
원래의
276명이 탐색했습니다.

How to Download Files from an ASP.NET Web API Using AngularJS?

AngularJS를 사용하여 ASP.NET 웹 API 메서드에서 파일 다운로드

AngularJS로 개발할 때 외부 소스에서 파일을 다운로드해야 하는 경우가 많습니다. . 이는 원하는 파일을 반환하는 웹 API 메서드에 HTTP GET 요청을 함으로써 달성할 수 있습니다.

AngularJS에서 요청 구현

AngularJS에서 다운로드 프로세스를 시작하려면, $http 서비스를 사용하여 웹 API 메서드에 HTTP GET 요청을 보낼 수 있습니다. 예는 다음과 같습니다.

$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
  });
}
로그인 후 복사

웹 API 메서드에서 파일 반환

ASP.NET 웹 API 메서드에서 다음을 나타내도록 응답을 구성해야 합니다. 반환되는 콘텐츠는 다운로드용 파일입니다. 예는 다음과 같습니다.

[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;
}
로그인 후 복사

AngularJS에서 다운로드한 파일 처리

AngularJS에서 다운로드한 파일을 처리하는 데 사용할 수 있는 두 가지 방법이 있습니다.

  1. 간단 다운로드:
$scope.downloadFile = function (downloadPath) {
  window.open(downloadPath, '_blank', '');
}
로그인 후 복사
  1. Ajax Binary 다운로드:
$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
  });
}
로그인 후 복사

다음으로 웹 API 방법을 구성해야 합니다. x-filename 및 콘텐츠 유형.

이러한 기술을 구현하면 AngularJS를 사용하여 ASP.NET 웹 API 메서드에서 파일을 원활하게 다운로드할 수 있으므로 원활하고 기능적인 사용자 환경을 보장할 수 있습니다.

위 내용은 AngularJS를 사용하여 ASP.NET 웹 API에서 파일을 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿