起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2352|回复: 1

[处理中4] asp.net后台返回的图片BASE64无法显示?

[复制链接]

21

主题

75

帖子

373

积分

中级会员

Rank: 3Rank: 3

积分
373
QQ
发表于 2017-5-16 21:12:31 | 显示全部楼层 |阅读模式
后台返回的图片BASE64无法显示(正常运行)?
前端:
        Model.prototype.button3Click = function(event) {
                var url = "http://192.168.1.111.........";
                var smallImage = document.getElementById(this.getIDByXID('image1'));
                $.ajax({
                        type : "GET",
                        url : url,
                        dataType : "text",
                        success : function(data) {
                                debugger;
                                data = data.replace("%2B", /\+/g);
                                data = data.replace("%26", /\&/g);
//????????????????????????????????????????????????????????????????????????????????????????
                                smallImage.src = "data:image/jpeg;base64," + data;//无法显示图片
//????????????????????????????????????????????????????????????????????????????????????????
                        },
                        error : function(error) {
                                alert('由于网络原因,上传失败。');
                        }
                });
        };

后端:
                        context.Response.ContentType = "text/plain";
                        string s = HttpContext.Current.Server.MapPath(@"~/AAA//pp.jpg");
                        string base64 = ImgToBase64String(s);
                        base64 = base64.Replace("+","%2B");
                        base64 = base64.Replace("&","%26");
                        context.Response.Write(base64);
                        context.Response.End();



    //图片转为base64编码的字符串
    protected string ImgToBase64String(string Imagefilename)
    {
        try
        {
            System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(Imagefilename);
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            byte[] arr = new byte[ms.Length];
            ms.Position = 0;
            ms.Read(arr, 0, (int)ms.Length);
            ms.Close();
            return Convert.ToBase64String(arr);
        }
        catch (Exception ex)
        {
            return null;
        }
    }

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-5-17 10:59:24 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-9-23 20:14 , Processed in 0.097630 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表