Asp.net中ashx怎样可以直接输出图片,非二进制绘出?

vip路过 2013-09-26 12:30:04
我有一个ashx处理上传的图片生成缩略图并输出显示,在前台img url绑定了handler.ashx来显示缩略图,但是我不想用context.Response.BinaryWrite输出,我想前台绑定的是一幅.jpg后缀的图片,应该怎样做?
...全文
450 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
__岑__ 2013-09-26
  • 打赏
  • 举报
回复
System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
__岑__ 2013-09-26
  • 打赏
  • 举报
回复
在前台img标签src添加上ashx处理程序url
宝_爸 2013-09-26
  • 打赏
  • 举报
回复
这样你就不需要ashx了,直接在页面中将处理的图片保存成jpg,修改image的链接即可。 比较麻烦的是如何清理使用过的图片。
  • 打赏
  • 举报
回复
HttpResponse Response = context.Response;
            Response.ClearContent();
            Response.ContentType = "image/jpeg";
            System.Drawing.Image img;//填充img
            img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            img.Dispose();
如果你想用jpg,直接上传的图片存下来啊,然后用jpg
insus 2013-09-26
  • 打赏
  • 举报
回复
在数据表中,有一个字段是存储图片二进制数据,还有一个字段是存储一个唯一文件名的字段。 上传时,我们需要把图片存入数据表中,还是把产生的唯一的文件存入。 图片上传(只存入数据表)完毕,现写一个事件,把数据表的图片存入站点指定一个目录中。程序显示图片时,均是显示文件夹的图片。 有时间参考这个案例:http://www.cnblogs.com/insus/p/3291322.html 所有图片是存在数据库,当有图片更新时,还要执行一个生成的事件,是重新把数据有的二进制图片生至某一目录中。
WM_JAWIN 2013-09-26
  • 打赏
  • 举报
回复
缩略图是文件的话,你可以用Response.transmitfile,如果是Image对像,可以用Images.save(Response.outputstrem)
insus 2013-09-26
  • 打赏
  • 举报
回复
vip路过 2013-09-26
  • 打赏
  • 举报
回复
img url绑定ashx输出的缩略图很不方便二次处理,难道只有先把图片上传到服务器,然后再提取缩放,再覆盖原图?想在ashx图上做截图很难,system.drawing只认图片格式,不认ashx这种输出的图,所以现在ashx基础上截图不太可能。 上传图片、缩放,前台显示并截图保存,谁有一个比较好的思路。
vip路过 2013-09-26
  • 打赏
  • 举报
回复
引用 6 楼 findcaiyzh 的回复:
这样你就不需要ashx了,直接在页面中将处理的图片保存成jpg,修改image的链接即可。 比较麻烦的是如何清理使用过的图片。
我就是觉得先上传,后提取图片处理然后再覆盖比较麻烦。所以用ashx处理再二进制输出比较好,但是img url绑定的ashx又不是图片。想在ashx输出的图片上截图就麻烦了。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧