gpt4 book ai didi

c# - 通过 RESTful webservice 返回图片

转载 作者:太空宇宙 更新时间:2023-11-03 21:35:50 25 4
gpt4 key购买 nike

我想通过网络 API 调用返回图像。我想要做的是获取图像,调整图像大小,然后返回它。这是我的代码...

public Image GetImage(string url)
{
WebClient wc = new WebClient();
byte[] data = wc.DownloadData(url);
MemoryStream memstream = new MemoryStream(data);
Image img = Image.FromStream(memstream);
img = resize(img, new System.Drawing.Size(100, 100));

return img;
}

protected static System.Drawing.Image resize(System.Drawing.Image imgToResize, System.Drawing.Size size)
{
return (System.Drawing.Image)(new System.Drawing.Bitmap(imgToResize, size));
}

然后理想情况下,我希望能够通过 html 执行类似的操作...

<img src="http://localhost:23520/Image/GetImage?url=whatever" />

这显然行不通。有什么办法可以让这个图像标签显示由 RESTful 服务返回的图像?

最佳答案

一定要调用api吗?

我强烈建议为此使用通用处理程序。

这里有一个小教程:http://www.dotnetperls.com/ashx

可以读入图片,存入内存,调整大小,然后直接输出图片。

如果您确实采用了处理程序路线,这将是您需要的代码

WebClient wc = new WebClient();
byte[] data = wc.DownloadData(context.Request.QueryString.Get("url"));
MemoryStream memstream = new MemoryStream(data);
Image img = Image.FromStream(memstream);
img = resize(img, new System.Drawing.Size(100, 100));
context.Response.Clear();
context.Response.ClearHeaders();
img.Save(context.Response.OutputStream, ImageFormat.Jpeg);
context.Response.ContentType = "image/jpeg";
HttpContext.Current.ApplicationInstance.CompleteRequest();

图片标签类似于

<img src="http://localhost:23520/Image/GetImage.ashx?url=whatever" />

关于c# - 通过 RESTful webservice 返回图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21938234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com