c# - 获取用于转换为 base 64 字符串的图像路径

标签 c# .net asp.net-mvc image

我的图片文件夹里有一张图片

enter image description here

我想将此图像传递给 Image 对象,这样我就可以将其转换为 base 64 字符串。然后这将被传递给客户端并插入到 img 元素的 src 中。

问题是我不知道如何从磁盘获取图像到图像对象中。

Image img = Image.FromFile(@"..Images\no_image.jpg"); // doesn't work

string image = Convert.ToBase64String(imageToByteArray(img));


public byte[] imageToByteArray(Image imageIn)
    {
        MemoryStream ms = new MemoryStream();
        imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
        return ms.ToArray();
    }

最佳答案

如果你从事网络项目,你应该使用:

Image.FromFile(Server.MapPath("~/Images/no_image.jpg"))

否则,如果它是 WinForm/WPF/Console 应用程序,请使用:

Image.FromFile(System.IO.Path.Combine(Environment.CurrentDirectory, "Images", "no_image.jpg"))

关于c# - 获取用于转换为 base 64 字符串的图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41439695/

相关文章:

c# - 使用 C# 编译的可执行文件有什么?

c# - 如何设计一个日历控件

c# - C# 中的 RtlCompressBuffer API

c# - 动态数量的文本框(输入)MVC

c# - MVC XML 模型作为另一个模型的属性

asp.net-mvc - 即使没有对 Web 应用程序的任何请求,如何使线程在 IIS 服务器的后台工作?

c# - 为什么 HttpClient.PostAsync() 没有在控制台应用程序中完成,但在 Web 应用程序中完成?

c# - 文本属性中的全局资源

c# - ASP.NET Core - 尝试使用 HealthChecks 时出错

.net - 启动 .NET 控制台应用程序时会发生什么?