.NET中图片以Base64方式输出

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,需要解码后才能阅读。

1、.NET中图片以Base64方式输出

示例:将图片转换成Base64格式,并在HTML页面中显示图片。

本示例使用了ASP.NET MVC。

1.1 将文件转换成Base64格式方法

/// <summary>
/// 将文件转换成Base64格式
/// </summary>
public string FileToBase64(string fileName)
{
    string result = "";
    try
    {
        using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
        {
            byte[] byteArray = new byte[fs.Length];
            fs.Read(byteArray, 0, byteArray.Length);
            result = Convert.ToBase64String(byteArray);
        }
    }
    catch
    {
        result = "";
    }
    return result;
}

1.2 MVC控制器代码

public ActionResult Index()
{
    //本地图片路径
    string fileName = @"F:\Images\MyPic.png";

    //将图片转换成Base64格式
    //"data:image/png;base64,"是编码方式(必须,否则页面上无法显示该图片)
    ViewBag.MyPic = "data:image/jpeg;base64," + FileToBase64(fileName);

    return View();
}

1.3 页面代码

<img src="@ViewBag.MyPic" />

2、HTML中显示Bate64方式的编码规则

如本示例中的:"data:image/png;base64," + Bate64编码

Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。
在上面的Data URI中,data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。
目前,Data URI scheme支持的类型有:
data:,文本数据
data:text/plain:文本数据
data:text/html:HTML代码
data:text/html;base64:base64编码的HTML代码
data:text/css:CSS代码
data:text/css;base64:base64编码的CSS代码
data:text/javascript:Javascript代码
data:text/javascript;base64:base64编码的Javascript代码
data:image/gif;base64:base64编码的gif图片数据
data:image/png;base64:base64编码的png图片数据
data:image/jpeg;base64:base64编码的jpeg图片数据
data:image/x-icon;base64:base64编码的icon图片数据
base64简单地说,它把一些 8-bit 数据翻译成标准 ASCII 字符,网上有很多免费的base64 编码和解码的工具。

目前,IE8、Firfox、Chrome、Opera浏览器都支持这种小文件嵌入,但是这种方法不兼容IE6/7,使用时要注意!


 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用base64生成图片,可以使用以下步骤: 1. 首先,需要获取图片的路径。可以使用代码的picPath来指定图片的存放路径。 2. 使用Base64Utils类的getImageStr方法,将图片转换为base64编码的字符串。 3. 将生成的base64编码字符串赋值给base64String变量。 4. 然后,指定生成图片的路径。可以使用newPath来设置图片的生成路径。 5. 使用Base64Utils类的GenerateImage方法,将base64编码的字符串转换为图片。 6. 运行代码后,就会生成指定路径下的图片。 以下是示例代码: ```java // 需要得到base64编码的图片存放路径 String picPath = System.getProperty("user.dir") + "\\src\\main\\webapp\\static\\images\\topRight.png"; // 得到该图片base64编码 String base64String = Base64Utils.getImageStr(picPath); // 输出base64编码的字符串 System.out.println(base64String); // 需要生成图片的生成路径 String newPath = System.getProperty("user.dir") + "\\src\\main\\webapp\\static\\images\\topRight1.png"; // 根据base64编码生成图片 System.out.println(Base64Utils.GenerateImage(base64String, newPath)); ``` 通过以上步骤,你可以使用base64编码生成图片。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [获取图片base64编码以及根据base64编码生成图片](https://blog.csdn.net/weixin_44009447/article/details/106185813)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Base64详解:玩转图片Base64编码](https://blog.csdn.net/sunyctf/article/details/125527656)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pan_junbiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值