0

私が達成しようとしている目標は、単純に API から画像を要求し、それをappendメソッドの形式でクライアント側に返すことです。

いいえ、API のユーザー/パス要件のため、クライアント側でこれを完全に処理することはできません。

いいえ@Url.Action(ImageFromPath)、画像の src でメソッドを使用できません。

そうは言っても、ここに私のバックエンドコードがあります:

[HttpGet("api/GetImage")]
public ActionResult ImageFromPath()
{
    string URL = "http://user:pass@MYIPADDRESS/cgi-bin/snapshot.cgi?c=1&authbasic=asdf1234";

    var srcImage = Image.FromFile(URL);
    var stream = new MemoryStream();
    srcImage.Save(stream, ImageFormat.Png);
    return File(stream.ToArray(), "image/png");
}

クライアント側の目標は次のとおりです。

$http.get('/api/GetImage').then(function (response) {
    $("#imgDiv").append('<img src="data:image/png;base64,' + response.data + '" />');
});

私が抱えている問題はオンラインsrcImage = Image.FromFile(URL)で、エラーがあります:

タイプ 'System.IO.FileNotFoundException' の例外が CoreCompat.System.Drawing.dll で発生しましたが、ユーザー コードで処理されませんでした

違いがある場合は、API URL 自体の呼び出しで画像が返されるまでに数秒かかります。

これを達成するための適切な方法を誰かアドバイスできますか? または、少なくとも現在のアプローチを機能させるのに役立ちますか?

EDIT - How can I convert image url to system.drawing.imageWebClientで答えを見てきましたが、ASP.Net Core ではまだ利用できないソリューションのみを提供します。

4

1 に答える 1