2016-08-17 14 views
-3

私はasp.netコアapiプロジェクトを持っており、私のウェブサイトに存在する画像を読み込もうとしていますが、404エラーが見つかりません。 GetStreamAsyncメソッドを実行するときに、以下のasp.netコアWebサイトの画像を読み取ることができません

コード行は、例外がスローされます:

foreach (var item in imgUrls) 
       { 
        // read from remote image drive 
        using (HttpClient c = new HttpClient()) 
        { 
         using (Stream s = await c.GetStreamAsync(item)) 
         { 
          // do something with the stream... 
         } 
        } 
       } 

画像のURLが正しいですが、私は、アプリケーションの実行中に別のタブに貼り付けしようとすると、私は表示されません私のブラウザに表示される画像。 asp.netの設定や、画像などのコンテンツファイルがapiの応答を通じて表示されないようにすることができないものがありませんか?

注:あなたの助けを楽しみにして

http://localhost:25071/images/test.jpg

:我々は送信imageUrls例えばURLが見える、FQDNのURLです。

+0

あなたはまた、APIコードを貼り付けることができますか? –

+0

あなたはミドルウェア設定を投稿していません。 – Tseng

答えて

-1

これは私が問題を解決した方法です。私はasp.netコアWeb APIでディレクトリブラウジングを有効にしませんでした。

私はwwwrootの下に静的ファイル(images)フォルダを追加し、startup.csのコードの下に画像フォルダへのディレクトリブラウジングを設定/許可するコードを追加して、画像の配信と表示を開始します。

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
     { 
      // few standard lines in here..... 

     // enable directory browsing 
     app.UseStaticFiles(); 
     app.UseStaticFiles(new StaticFileOptions() 
     { 
      FileProvider = new PhysicalFileProvider(
      Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\images")), 
      RequestPath = new PathString("/images") 
     }); 

     app.UseDirectoryBrowser(new DirectoryBrowserOptions() 
     { 
      FileProvider = new PhysicalFileProvider(
     Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\images")), 
      RequestPath = new PathString("/images") 
     }); 
} 

enjoy!

関連する問題