MVC의 URL에서 이미지를 다운로드하는 방법

TBA

내 Asp.net MVC에서 이미지 파일이 실제 폴더 구조에 보관 될 때 다음 코드를 사용했습니다.

public FileResult DownloadFile(string imageName)
        {
            string fullPath = this.GetFullPath(imageName);
            string contentType = " image/pjpeg";

            return new FilePathResult(fullPath, contentType)
            {
                FileDownloadName = imageName
            };
        }

그러나 이제 이미지를 Azure Blob으로 이동했으며 여기에서 이미지를 어떻게 다운로드 할 수 있습니까? FilePathResult dint가 작동하기 때문에 다음 코드를 사용해 보았습니다.

public ActionResult DownloadFile(string imgName)
        {            
            string fullPath = imgName;            
            CloudStorageAccount account = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConString"));
            CloudBlobClient client = account.CreateCloudBlobClient();
            CloudBlobContainer blobContainer = client.GetContainerReference(ConfigurationManager.AppSettings["BlobReference"]);

            CloudBlockBlob blockBlob = blobContainer.GetBlockBlobReference(imgName);

            return Redirect(blockBlob.Uri.AbsoluteUri);
        }

그러나 파일이 다운로드되지 않고 대신 새 창에서 열립니다. 새 창에서 열지 않고 파일을 다운로드하도록 안내 해주세요.

Gaurav Mantri

따라서이 작업을 수행 할 수있는 두 가지 방법이 있습니다.

1. 항상 파일을 다운로드하기를 원한다고 가정합니다.

파일을 항상 다운로드 Content-Disposition하려면 blob 속성을 attachment; filename=yourdesiredfilename. 이 경우 blockBlob.Uri.AbsoluteUri항상 파일을 강제로 다운로드합니다.

2. 때때로 파일을 다운로드하고 브라우저에서 파일을 여는 유연성을 원한다고 가정합니다.

이 경우 Blob에 SAS (공유 액세스 서명)를 만들고 SAS Content-Disposition의 일부로 헤더를 지정할 수 있습니다. 이를위한 샘플 코드는 다음과 같습니다.

        CloudStorageAccount acc = new CloudStorageAccount(new StorageCredentials("<accountname>", "<accountKey>"), true);
        var client = acc.CreateCloudBlobClient();
        var container = client.GetContainerReference("<containername>");
        var blob = container.GetBlockBlobReference("<imagename.png>");
        var sasToken = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
        {
            SharedAccessExpiryTime = DateTime.UtcNow.AddHours(1),
            Permissions = SharedAccessBlobPermissions.Read
        }, new SharedAccessBlobHeaders()
        {
            ContentDisposition = "attachment;filename=<imagename.png>",
        });
        var blobUrl = blob.Uri.AbsoluteUri + sasToken;
        Redirect(blobUrl);

내 권장 사항은 더 많은 보안을 제공하기 때문에 # 2를 사용하는 것입니다. 개인 Blob 컨테이너에서도 Blob을 공유 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Goutte에서 이미지를 다운로드하는 방법

분류에서Dev

이미지 URL 목록이있는 서버에서 json의 gridview에 이미지를로드하는 방법

분류에서Dev

웹보기의 동적 URL에서 PDF를 다운로드하는 방법

분류에서Dev

글라이드를 사용하여 Firebase에 저장된 이미지의 미리보기 이미지를 다운로드하는 방법

분류에서Dev

QT C ++가 아닌 QML의 URL에서 이미지를로드하는 방법

분류에서Dev

UItableview customcell의 URL에서 두 이미지를로드하는 방법

분류에서Dev

플러터의 자산 이미지를 오프라인으로 네트워크 사용에서 이미지를 다운로드하는 방법

분류에서Dev

Flutter의 다운로드 디렉토리에 ByteData (이미지)를 저장하는 방법은 무엇입니까?

분류에서Dev

SwiftUI에서 URL의 이미지를 표시하는 방법

분류에서Dev

Galleryview의 URL에서 이미지를 설정하는 방법

분류에서Dev

PHP codeigniter에서 URL의 이미지를 표시하는 방법

분류에서Dev

드롭 다운에서 Shiny 앱에 이미지를 업로드하는 방법

분류에서Dev

winforms의 URL에서 pictuerBox의 이미지를 얻는 방법

분류에서Dev

내 Json 배열에는 두 개의 이미지가 있습니다. url / http를 통해 다운로드하고 활동에 표시하는 방법

분류에서Dev

Azure Blob에서 XAML로 이미지를 다운로드하는 방법

분류에서Dev

Flutter에서-URL에서 다운로드 한 이미지를 전달하는 방법

분류에서Dev

FileTransfer를 사용하지 않고 Ionic 5의 URL에서 파일을 다운로드하는 방법

분류에서Dev

Flutter에서 갤러리에 이미지를 다운로드하는 방법

분류에서Dev

Flutter에서 네트워크 이미지를 다운로드하는 방법

분류에서Dev

URL 이미지를 기존 목록보기로 다운로드하는 방법

분류에서Dev

Linux의 URL에서 파일을 다운로드하는 방법

분류에서Dev

여러 URL에서 이미지를 다운로드하는 방법은 무엇입니까?

분류에서Dev

URL에서 ImageButton으로 이미지를로드하는 방법

분류에서Dev

URL에서 GIF 이미지를 다운로드하여 안드로이드에서 스토리지에 저장하는 방법

분류에서Dev

안드로이드의 다른 이미지 뷰에서 이미지 뷰를 반으로 겹치는 방법

분류에서Dev

URL에서 이미지를 업로드하는 방법

분류에서Dev

노드 js에서 이미지를 다운로드하고 바이너리로 변환하는 방법

분류에서Dev

ListView의 JSON 개체에서 다운로드되는 AsyncTask 이미지를 배치하는 방법은 무엇입니까?

분류에서Dev

TS가있는 Angular 8에서 pdf 형식의 페이지를 다운로드하는 방법

Related 관련 기사

  1. 1

    Goutte에서 이미지를 다운로드하는 방법

  2. 2

    이미지 URL 목록이있는 서버에서 json의 gridview에 이미지를로드하는 방법

  3. 3

    웹보기의 동적 URL에서 PDF를 다운로드하는 방법

  4. 4

    글라이드를 사용하여 Firebase에 저장된 이미지의 미리보기 이미지를 다운로드하는 방법

  5. 5

    QT C ++가 아닌 QML의 URL에서 이미지를로드하는 방법

  6. 6

    UItableview customcell의 URL에서 두 이미지를로드하는 방법

  7. 7

    플러터의 자산 이미지를 오프라인으로 네트워크 사용에서 이미지를 다운로드하는 방법

  8. 8

    Flutter의 다운로드 디렉토리에 ByteData (이미지)를 저장하는 방법은 무엇입니까?

  9. 9

    SwiftUI에서 URL의 이미지를 표시하는 방법

  10. 10

    Galleryview의 URL에서 이미지를 설정하는 방법

  11. 11

    PHP codeigniter에서 URL의 이미지를 표시하는 방법

  12. 12

    드롭 다운에서 Shiny 앱에 이미지를 업로드하는 방법

  13. 13

    winforms의 URL에서 pictuerBox의 이미지를 얻는 방법

  14. 14

    내 Json 배열에는 두 개의 이미지가 있습니다. url / http를 통해 다운로드하고 활동에 표시하는 방법

  15. 15

    Azure Blob에서 XAML로 이미지를 다운로드하는 방법

  16. 16

    Flutter에서-URL에서 다운로드 한 이미지를 전달하는 방법

  17. 17

    FileTransfer를 사용하지 않고 Ionic 5의 URL에서 파일을 다운로드하는 방법

  18. 18

    Flutter에서 갤러리에 이미지를 다운로드하는 방법

  19. 19

    Flutter에서 네트워크 이미지를 다운로드하는 방법

  20. 20

    URL 이미지를 기존 목록보기로 다운로드하는 방법

  21. 21

    Linux의 URL에서 파일을 다운로드하는 방법

  22. 22

    여러 URL에서 이미지를 다운로드하는 방법은 무엇입니까?

  23. 23

    URL에서 ImageButton으로 이미지를로드하는 방법

  24. 24

    URL에서 GIF 이미지를 다운로드하여 안드로이드에서 스토리지에 저장하는 방법

  25. 25

    안드로이드의 다른 이미지 뷰에서 이미지 뷰를 반으로 겹치는 방법

  26. 26

    URL에서 이미지를 업로드하는 방법

  27. 27

    노드 js에서 이미지를 다운로드하고 바이너리로 변환하는 방법

  28. 28

    ListView의 JSON 개체에서 다운로드되는 AsyncTask 이미지를 배치하는 방법은 무엇입니까?

  29. 29

    TS가있는 Angular 8에서 pdf 형식의 페이지를 다운로드하는 방법

뜨겁다태그

보관