我一直在环顾四周并阅读有关处理程序的内容,但我并不完全了解如何根据我的情况实施它们。
我想从用户的剪贴板显示截图。我已经有了将剪贴板中的图像检索为位图格式的代码。这就是我所拥有的:
var dataobj = new DataObject();
dataobj = (DataObject)Clipboard.GetDataObject();
System.Drawing.Image img = dataobj.GetData(DataFormats.Bitmap) as System.Drawing.Image;
original = (System.Drawing.Image)img.Clone();
img = resizeImage(img, new Size(670, 500));
String s = "c:/Temp/temp.png";
img.Save(s, ImageFormat.Png);
Image1.ImageUrl = s;
Image1.DataBind();
我的问题是我无法将图像保存到硬盘。
我的第一个问题是图像处理程序会在这种情况下帮助我吗?
如果可以,我如何修改该代码并使用以下代码将其绑定到我的图像处理程序中:
public class getmyimage : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
HttpResponse r = context.Response;
r.ContentType = "image/png";
// Write the requested image
r.WriteFile("temp.png");
}
public bool IsReusable
{
get { return false; }
}
}
答案 0 :(得分:1)
Hello处理程序http允许客户重定向或重写请求,出于安全原因格式化请求标头,或在某些论坛中显示横幅。但是对于你的例子,我认为你不需要http处理程序
答案 1 :(得分:0)
在web.config文件中配置处理程序并将URL分配给ImageURL属性或使用带有“ashx”扩展名的通用处理程序文件,如果使用ASHX,则无需在web.config文件中进行配置。将ASHX文件路径分配给ImageURL属性。如果要渲染动态图像,请确保清除缓存或在子序列调用中使用不同的URL,否则您将获得缓存图像。 这是博客条目。
http://www.developerfusion.com/code/5223/using-ashx-files-to-retrieve-db-images/