精华内容
下载资源
问答
  • 小程序生成二维码并且把二进制流转换图片
  • <p>java 二维码图片转二进制 存进Oracle 使用什么技术呢?</p>
  • URL转二维码再转二进制流图片


    在.net中开发中有时候需要将一个url地址转换成二维码,然后再转换成二进制流格式存入数据库中,最后再将二进制流图片用报表的方式呈现出来,以下是具体的步骤:
    1.首先下载zxing.dll并引入项目中
    2.在cs文件顶部添加如下引用
    using System.Drawing;
    using com.google.zxing.common;
    using System.Drawing.Imaging;
    using System.IO;
    3.编写如下代码:
    ///<summary>
            /// 生成二维码
            /// </summary>
            private byte[] CreateEWM(string content)
            {
                ByteMatrix byteMatrix = new com.google.zxing.MultiFormatWriter().encode(content, com.google.zxing.BarcodeFormat.QR_CODE, 250, 250);
                EncoderParameters eps = new EncoderParameters();
                eps.Param[0] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 1000L);
                Bitmap bmap = toBitmap(byteMatrix);
                using (MemoryStream stream = new MemoryStream())
                {
                    bmap.Save(stream, ImageFormat.Jpeg);
                    byte[] data = new byte[stream.Length];
                    stream.Seek(0, SeekOrigin.Begin);
                    stream.Read(data, 0, Convert.ToInt32(stream.Length));
                    return data;
                }
            }
     /// <summary>
            /// 转换成位图
            /// </summary>
            /// <param name="matrix"></param>
            /// <returns></returns>
            private Bitmap toBitmap(ByteMatrix matrix)
            {
                int width = matrix.Width;
                int height = matrix.Height;
                Bitmap bmap = new Bitmap(width, height,System.Drawing.Imaging.PixelFormat.Format32bppArgb);
                for (int x = 0; x < width; x++)
                {
                    for (int y = 0; y < height; y++)
                    {
                        bmap.SetPixel(x, y, matrix.get_Renamed(x, y) != -1 ? ColorTranslator.FromHtml("0xFF000000") : ColorTranslator.FromHtml("0xFFFFFFFF"));
                    }
                }
                return bmap;
            }
    4.
    byte[] bytaryEWM = CreateEWM(codeUrl);
    最后只要调用此方法,传入一个你需要转换的url即可,此时已经完成了url到二进制流二维码图片的转换,此方法不用将二维码图片保存至项目的某个文件夹中,然后再通过图片src调用,因为报表工具可以直接展示二进制流的图片。


    展开全文
  • 我可以zxing将一个Url转为一个二维码图片,可是怎么将这个图片转换成数据流呢?类似IOS里面的NSdata的数据格式?
  • 步骤:1 :通过接口获取token,为了避免在冲突,token最好存入redis中,即即取,注意事项:获取到accessToken取出来是带双引号的,一定要代替掉"",不然返回的转化出来的二进制不对,这个地方坑了我好久,切记切记,还有就是...

    需求:每个用户生成自己的小程序二维码,前端生成商品海报,用于小程序的推广,废话不多说,看代码

    步骤:1 :通过接口获取token,为了避免在冲突,token最好存入redis中,即用即取,注意事项:获取到accessToken取出来是带双引号的,一定要代替掉"",不然返回的转化出来的二进制不对,这个地方坑了我好久,切记切记,还有就是sence这个参数不能带符号,明明官方文档上说的可以带的,但是我带了返回的值就不对,我也不知道为什么 0.0
    2:通过接口获取到用户二维码的流,并转化为二进制,这样前台就可以成功读取了

    public String getCode(){
    String accessToken;
    if (redisTemplate.hasKey("token")) {
        accessToken = redisTemplate.opsForValue().get("token").toString();
    } else {
        String token = RestTemplateUtil.get(restTemplate, "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret);
        JsonParser jsonParser = new JsonParser();
        JsonObject jsonObject = (JsonObject) jsonParser.parse(token);
        accessToken = jsonObject.get("access_token").toString();
        redisTemplate.opsForValue().set("token", accessToken, 1, TimeUnit.HOURS);
    }
    
    accessToken = accessToken.replaceAll("\"","");
    String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="+accessToken;
    
    String reslut = SendPost.sendPost3(url,sence);
    }
    
    public static String sendPost3(String url,String sence) {
        PrintWriter out = null;
        String result = "";
        InputStream inputStream=null;
        //请求数据,自行拼接
        String param="{ \"scene\":"+sence+",\"page\":\"pages/user/user\",\"width\":280}";
        try {
            URL realUrl = new URL(url);
            // 打开和URL之间的连接
            URLConnection conn = realUrl.openConnection();
            // 设置通用的请求属性
            conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
            conn.setRequestProperty("responseType", "arraybuffer");
            // 发送POST请求必须设置如下两行
            conn.setDoOutput(true);
            conn.setDoInput(true);
            // 获取URLConnection对象对应的输出流
            out = new PrintWriter(conn.getOutputStream());
            // 发送请求参数
            out.print(param);
            // flush输出流的缓冲
            out.flush();
            //获取流数据
            inputStream = conn.getInputStream();
            // 将获取流转为base64格式
            byte[] data = null;
            ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
            byte[] buff = new byte[100];
            int rc = 0;
            while ((rc = inputStream.read(buff, 0, 100)) > 0) {
                swapStream.write(buff, 0, rc);
            }
            data = swapStream.toByteArray();
            result = new String(Base64.getEncoder().encode(data));
    
        }catch (Exception e) {
            System.out.println("发送 POST 请求出现异常!"+e);
            e.printStackTrace();
        }
        //使用finally块来关闭输出流、输入流
        finally{
            try{
                if(out!=null){
                    out.close();
                }
                if(inputStream!=null){
                    inputStream.close();
                }
            }
            catch(IOException ex){
                ex.printStackTrace();
            }
        }
        return "data:image/PNG;base64,"+result;
    }
    
    展开全文
  • 微信小程序二维码返回的二进制内容,是一个byte[] 所以直接byte[]接收即可,然后写入文件中: req – 请求的参数json字符串 byte[] bytes = new RestTemplate().postForObject(二维码接口url + accessToken, req, ...

    微信小程序二维码返回的二进制内容,是一个byte[].
    微信小程序生成二维码接口文档:
    https://developers.weixin.qq.com/miniprogram/dev/api-backend/getWXACodeUnlimit.html
    所以直接用byte[]接收即可,然后写入文件中:
    req – 请求的参数json字符串
    import org.springframework.web.client.RestTemplate;
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;

    // req举例{“scene”:“500003#461”,“page”:“pages/index/index”,“width”:300}
    byte[] bytes = new RestTemplate().postForObject(二维码接口url + accessToken,
    req, byte[].class);

    ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
    File file = new File(“D:/图片名.jpg”);
    try {
    BufferedImage img = ImageIO.read(bais);
    ImageIO.write(img, “jpg”, file);
    } catch (IOException e) {
    // log.error("【二维码生成失败】: {}", e.getMessage());
    }

    展开全文
  • 前提业务要求:前台页面展示数据,有下载按钮,点击下载,下载对应数据的二维码。 首先,在pom.xml文件中添加依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>...

    前提业务要求:前台页面展示数据,有下载按钮点击下载,下载对应数据的二维码。

    首先,在pom.xml文件中添加依赖

    <dependency>
       <groupId>com.google.zxing</groupId>
       <artifactId>core</artifactId>
       <version>3.3.3</version>
       <scope>compile</scope>
    </dependency>
    <dependency>
       <groupId>com.google.zxing</groupId>
       <artifactId>javase</artifactId>
       <version>3.3.3</version>
       <scope>compile</scope>
    </dependency>
    其次,Controller的写法(生成二维码并以流的形式输出到浏览器)
    
    @RequestMapping("/test")
    public void dowanload(HttpServletRequest request,HttpServletResponse response) throws Exception {
        //二维码中包含的信息
        String content = "姓名:十二余\n博客:https://www.cnblogs.com/jing5464";
        Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
        // 指定编码格式
        hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
        // 指定纠错级别(L--7%,M--15%,Q--25%,H--30%)
        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
        // 编码内容,编码类型(这里指定为二维码),生成图片宽度,生成图片高度,设置参数
        BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 200, 200, hints);
        //设置请求头
        response.setHeader("Content-Type","application/octet-stream");
        response.setHeader("Content-Disposition", "attachment;filename=" + "十二余的二维码.png");
        OutputStream outputStream = response.getOutputStream();
        MatrixToImageWriter.writeToStream(bitMatrix, "png", outputStream);
        outputStream.flush();
        outputStream.close();
    }
    最后,访问地址:http://ip地址+端口号+访问方法路径
       如:http://1.0.0.1:9090/test


    转载于:https://www.cnblogs.com/jing5464/p/9951198.html

    展开全文
  • 微信小程序二维码返回的二进制上传到OSS public ResultDTO getQrCode(ReqQrCodeDTO reqQrCodeDTO) { try { //拼接URL String access_token_url = WX_APPLET_GETAT+"?appid="+WX_APPLET_ID+"&secret="+WX_APPLET...
  • 后台返回的数据为 前端需要获取数据后进行转换 js文件 let url = ‘后台接口地址’ var that=this wx.request({ url: url, method: ‘GET’,  header: {  ‘Authorization’:‘token值’//请求头加入token值 ...
  • 二维码在本地可以正常的在jsp上显示,部署到服务器上,展示出来的却是二进制文件 我的思路是这样的 我刚开始觉得是二维码图片生成有问题,随后我放弃了生成二维码,随便选择了一个JPG传到前端显示,结 果还是...
  • // 实现二:生成二维码图片并将图片转为二进制传递给前台 // 1、读取文件转换为字节数组 ByteArrayOutputStream out = new ByteArrayOutputStream(); BufferedImage image = toBufferedImage(bitMatrix); //// ...
  • 进制数字串生成二维码图片

    千次阅读 2019-04-20 16:09:44
    进制数字生成二维码用进制数字生成二维码代码细节 进制数字生成二维码 打CTF比赛时,遇到题目将flag隐藏到二进制数中,数字的长度为一个整数的平方,以01表示黑白,利用Python3的PIL中的Image库,进制...
  • 废话不说,直接上代码 ...//得到post过来的二进制原始数据 $file = fopen("xcxcode/wxcode1.jpg","w");//创建件准备写入,文件名xcxcode/wxcode1.jpg为自定义 fwrite($file,$jpg);//写入 fclose($file);//关闭 ...
  • 就一张二维码图片,一些在线工具识别是乱码,QQ识别出来是 16进制编辑器打开发现末尾有段很突兀的数据,不属于bmp位图的内容,想必flag就在其中 观察这段数据发现只有0-7,没有8和9,很容易想到是8...
  •  url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='+that.data.token, //获取小程序B接口二维码    method: "POST",    responseType: 'arraybuffer', //这一行非常重要,重中之重 ...
  • POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN 获取二进制流后 header("content-type: image/jpeg"); echo $stream; 就可以直接显示出来
  • 每个 byte 转成 8 位二进制数据,二进制的 0、1表示像素点的黑白。测试点阵是 48*48 像素,2304个点,对应 288 个byte 数据。 搜了一下没找到现成轮子,想着难度也不大,参考 zxing 二维码的显示,顺便复习下 ...
  • 最近在找一个好用的json数据网页美化插件,下面来看看我的成果。 一、FeHelper(前端助手) 1、没有插件时,我的json数据显示 2、了插件后,我的json...选择性的使用,毕竟插件多了,也会影响速度。 ...
  • getCode() { axios({ method: "get", url: "admin/verify", responseType: "arraybuffer", // 最为关键 }).then((res)=> { ... }, 登录验证码后端返回的二进制 进行如上操作 得到的imgUrl 直接放到img标签里面就可以了
  • python下二进制流文件转二维码

    千次阅读 2019-09-28 16:07:01
    python下二进制流文件转二维码 之前做过的一个ctf中的misc,经过一系列操作得到一个flag.txt 里面是一串二进制流 突然束手无策 经简单计算 260^2=67600 所以尝试能否转化为一个二维码 网上找了好久,没找到好用的...
  • 因为,项目需要支持vs2010的cpp提取二维码进制数据,原本zbar和zxing都会默认进行字符集编码转换(zxing默认utf-8),导致部分0x80等二进制数据被强制编码转换,而导致无法正确识别。现通过基于zxing源码修改默认...
  • 为了以后方便 小程序request请求中添加responseType: ‘arraybuffer’,
  • 二维码

    2019-12-15 19:05:16
    二维码 1. 二维码的分类 线性堆叠式二维码 矩阵式二维码 邮政码 线性堆叠式二维码: ​ 建立在一维条形码...在矩阵相应元素位置上,点(方点、原点或者其他图形)的出现表示二进制 1, 点的不出现表示二进制的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,550
精华内容 6,220
关键字:

二维码用的是几进制