System.Web.UI.WebControls.Image 不包含保存的定义?保存图像

Posted

技术标签:

【中文标题】System.Web.UI.WebControls.Image 不包含保存的定义?保存图像【英文标题】:System.Web.UI.WebControls.Image does not contain a definition for Save? Saving image 【发布时间】:2016-05-16 23:55:06 【问题描述】:

我有一个 C# Web 应用程序,并且有一个从字节数组生成的图像。

byte[] imageBytes = Convert.FromBase64String(b64);
            MemoryStream ms = new MemoryStream(imageBytes, 0,
              imageBytes.Length);
            ImageStudent.ImageUrl = "data:image/jpeg;base64," + b64;

这会在 Web 应用程序中完美显示图像。但是我想将此图像保存到项目中的文件夹中。我试过这段代码:

String FilePath;
            FilePath = Server.MapPath("~/Images/test2.jpg");
            ImageStudent.Save(FilePath, ImageFormat.Jpeg);

但是我得到了错误:

System.Web.UI.WebControls.Image does not contain a definition for Save

我使用的所有 .dll 都需要用于 web 应用程序上的其他功能,还有其他方法可以保存此图像吗?

【问题讨论】:

【参考方案1】:

System.Drawing.Image 是您要查找的命名空间。

System.Drawing.Bitmap b = new System.Drawing.Bitmap(Server.MapPath("~/Images/test2.jpg"));
b.Save(saveFilePath , System.Drawing.Imaging.ImageFormat.Jpeg);

【讨论】:

感谢一切正常,我使用的是 System.Drawing.Imaging;干杯杰里米 如果您认为这可能是命名空间冲突(歧义),只需使用 System.Drawing.... 完全限定它【参考方案2】:

您只需要获取字节数组并将其保存在您想要的任何位置。一个基本示例是这样的:

File.WriteAllBytes(@"C:\CopyofImage.jpg", imageByte);

除非您自己扩展它们,否则您无法为现有库(例如 Save on Image 类)编写新方法。

【讨论】:

以上是关于System.Web.UI.WebControls.Image 不包含保存的定义?保存图像的主要内容,如果未能解决你的问题,请参考以下文章

System.Web.UI.WebControls.Unit 的行为

System.Web.UI.WebControls.Image 不包含保存的定义?保存图像

获取 ASP.NET System.Web.UI.WebControls.PlaceHolder 的内容

将 varchar 值“System.Web.UI.WebControls.TextBox”转换为数据类型 int 时转换失败。

System.Web.UI.WebControls.TextBox”不包含“text”的定义,并且找不到可接受类型为“System.Web.UI.Web

仅对具有 DataBinding 事件的对象提供数据绑定表达式支持。System.Web.UI.WebControls.HyperLinkField 没