asp.net - 将调整大小的图像显示为返回值而不是页面内容
问题描述
在 上,我希望页面以与“在新选项卡中打开图像”Page_Load
时相同的方式显示图像。换句话说,我希望页面显示为内容类型,而不是在HTML 标记中呈现图像。Image/jpeg
img
我使用以下代码以这种方式成功显示了图像Page_Load
:
Page.Response.ContentType="image/jpeg"
Page.Response.WriteFile("Path_to_the_Image")
但是,我的案例需要在调整大小后显示图像。我创建了一个调整图像大小并将调整后的图像返回为的函数Drawing.Bitmap
ResizeImage(bmSource As Drawing.Bitmap, TargetWidth As Int32, TargetHeight As Int32)
如何使用该函数的返回值并以与显示第一张图像相同的方式显示它?
Page.Response.WriteFile()
需要 aString
作为输入。有没有一种方法可以将类型的图像显示Image
或System.Bitmap
直接显示到页面中,而无需将其保存在临时文件夹中,然后使用其路径(As a String
)并将其传递给Page.Response.WriteFile
?
解决方案
Page.Response.ContentType="image/jpeg"
Using resizedImage As Bitmap = ResizeImage(source, 100, 100)
source.Dispose()
resizedImage.Save(Page.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
End Using
Page.Response.Flush()
这应该可行,也许我的语法有一些错误。我不经常在 vb.net 中编码。
由于@Joel Coehoorn 注释而编辑了代码
推荐阅读
- css - 如何将 Vue 条件绑定添加到动态加载的 SVG 中的单个路径?
- flutter - Flutter 全屏渐变淡入淡出过渡无法正常工作
- spring-boot - STS 4 Linux (Debian 11) 中的 JSP 页面
- sql - 两个人都至少购买过一次的商品的 SQL SELECT 交易
- css - webkit日历的颜色
- r - 无法在 R 中设置天数和日期名称(日期始终为字符)
- amazon-cloudformation - 即使未明确指定,AWS CDK 堆栈也会以静默方式部署
- android - 如何使用 Android Gradle 插件和 maven-publish 插件发布所有风味变体?
- opencl - 如何在 OpenCL 中读取 .csv 文件
- cookies - 浏览器不发送cookie到跨域