【解決方法】WEB APIから画像URLを返す


Json Result ですべての画像 URL を返す Web API があります。
[
{
“Path”:”D:\\Images\\1.jpg”
},
{
“Path”:”D:\\Images\\2.jpg”
},
{
“Path”:”D:\\Images\\3.jpg”
}
]

http://api.xyz.com/api/images/img1 のようなサブドメインで上記の API によってホストされています。
今、私はこのAPIをメインドメインのように消費したい- http://xyz.com
しかし、画像は表示されていません。 助けてください…

私が試したこと:

以下は、mvc アプリケーションで画像を表示するために使用しているコードです。

public ActionResult インデックス()
{
//IEnumerable 学生 = null;
List<画像パス> ImgInfo = new List<画像パス>();
使用 (var client = new HttpClient())
{
client.BaseAddress = new Uri(“http://localhost:39085/api/”);
// HTTP GET
var responseTask = client.GetAsync(“Test/Img1”);
responseTask.Wait();

var 結果 = responseTask.Result;
if (result.IsSuccessStatusCode)
{
var readTask = result.Content.ReadAsStringAsync();
readTask.Wait();
ImgInfo = JsonConvert.DeserializeObject>(readTask.Result);

}
else //Web API がエラー応答を送信しました
{
//応答ステータスをここに記録..

//学生 = Enumerable.Empty();
ImgInfo = null;
ModelState.AddModelError(string.Empty, “サーバー エラーです。管理者に連絡してください。”);
}
}
ビューを返します(ImgInfo);
}

ページコードを表示-
@model IEnumerable
@foreach (モデル内の変数項目)
{

}

解決策 1

画像をレンダリングするために使用するコードはわかりませんが、 img でタグ付け src API レスポンス。

D:\Images1\1.jpg ブラウザで認識されるファイル パスではありません。 これを使用する必要があります: file:///D:/Images1/1.jpg

ただし、誰かが自分のものではないコンピューターから MVC アプリケーションにアクセスすると、ブラウザーがローカル ファイル システムを参照し、画像がそこにないため、画像がレンダリングされないことに注意してください。

コメント

タイトルとURLをコピーしました