2016-10-06 35 views
0

私はDropBoxからpdfsをダウンロードする機能に取り組んでいます。私はASP.net Coreを使用しています。唯一のことは、ダウンロードリンクをクリックするとメッセージを表示せず、ファイルをダウンロードすることです。私はインターネットから何かをダウンロードしたときに通常起こるようなダウンロードの進捗状況を示したいと思います。ダイアログが表示されないようにするため、ChromeやIEのようなブラウザでファイルがダウンロードされたことを表示して「フォルダに表示」やそのようなものを選択するには、何を追加する必要がありますか?ブラウザでダウンロードの進捗状況を表示

public async Task DownloadPdf() 
      { 
       DropboxClient client2 = new DropboxClient("cU5M-a4exaAAAAAAAAABDVZsKdpPteNmwHslOeFEo-HByuOr4v4ONvXoAMCFyOXH"); 
       string folder = "MyFolder"; 
       string file = "Test PDF.pdf"; 
       using (var response = await client2.Files.DownloadAsync("/" + folder + "/" + file)) 
       { 
        using (var fileStream = System.IO.File.Create(@"C:\Users\User\Downloads\Test.pdf")) 
        { 
         (await response.GetContentAsStreamAsync()).CopyTo(fileStream);      
        } 
       } 
      } 
+1

ここを参照してくださいhttp://stackoverflow.com/q/74019/5311735(content-disposition header)。 – Evk

+0

@Evk唯一のことはASP.netコアを使用しており、コアでSystem.Wenという名前空間を見つけることができないことです。コアでこれをどうすればできますか? – AlexGH

+0

私はasp.netコアに精通していませんが、私はそこにレスポンスにヘッダーを追加する方法についてGoogleには難しいとは思わないと思います(これは基本的な操作です)。 – Evk

答えて

1

私は、ファイルを返すAPIを持つasp.netコアプロジェクトがあります。私はこのAPI(myappに/ API/mycontroller/ID)から、私のブラウザでURLにアクセスしている場合は

[HttpGet("{id}")] 
public IActionResult Get(int id) { 
    byte[] fileContent = READ_YOUR_FILE(); 
    FileContentResult result = new FileContentResult(fileContent, "application/octet-stream") { 
    FileDownloadName = id.ToString() 
    }; 
    return result; 
} 

を、私はファイルをダウンロードして見ることができます。

関連する問題