私が達成しようとしている目標は、単純に 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 ではまだ利用できないソリューションのみを提供します。