canvers转化base64,然后后台解码生成图片问题

问题描述

canvers转化base64,然后后台解码生成图片问题

直接上代码了,

  var img_this=new Image();
                img_this.src=$('#preview').attr('src');
                var width = img_this.width,height = img_this.height;
                var scale = width / height;
                width1 = 300;
                height1 = parseInt(width1 / scale);
                var canvas = $("#cans");
                canvas[0].width = width1; canvas[0].height = height1;
                var cropStr =canvas[0].toDataURL("image/jpeg");
                alert(cropStr);

这是生成的base64的字符串,

    public boolean strtoimg(String imgStr){
          if (imgStr == null){ // 图像数据为空
                return false;
            }
            BASE64Decoder decoder = new BASE64Decoder();
            try {
                // Base64解码
                byte[] bytes = decoder.decodeBuffer(imgStr);
                for (int i = 0; i < bytes.length; ++i) {
                    if (bytes[i] < 0) {// 调整异常数据
                        bytes[i] += 256;
                    }
                }
                // 生成jpeg图片
                String path = "d:555.jpg";
                OutputStream out = new FileOutputStream(path);
                out.write(bytes);
                out.flush();
                out.close();
                return true;
            } catch (Exception e) {
                return false;
            }
    }

这个是生成图片方法,哪里有不对的吗?生成的图片是一片黑。
在线等~

解决方案

base64 图片字符转换 加码解码
关于nsdata的压缩的问题base64,图片转字符串,图片的压缩的问题

解决方案二:

var cropStr =canvas[0].toDataURL("image/jpeg");

这个cropStr你处理过没有?是包含“data:image/jpeg;base64”这种内容,要去掉这些内容,直接发送后面base64数据。

cropStr=cropStr.replace('data:image/jpeg;base64','');

时间: 2024-09-08 10:43:12

canvers转化base64,然后后台解码生成图片问题的相关文章

JavaScript Base64编码和解码,实现URL参数传递。_javascript技巧

为什么需要对参数进行编码?相信有过开发的经验的广大程序员都知道,在Web中,若是直接在Url地址上传递参数值,若是中文,或者+等什么的就会出现乱码现象,若是数字或者英文的好象没有什么问题,简言之,传递过来的参数是需要进行编码的.在这里,也许有人会说,为什么不直接用Server.UrlDecode和Server.UrlEncode这两个来进行编码和解码的操作呢? 的确,这两个服务器端对象很好使用,用起来也很方便,但是,若在客户端是HTML的Input,查询的时候页面是HTML或者其他的,反正不是.

android Java BASE64编码和解码二:图片的编码和解码

1.准备工作  (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础     (2)添加 ImgHelper 工具类   package com.app21; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.IOException; import android.graphics.Bitmap; import

Base64在线编码解码实现代码 演示与下载

在线演示地址:gb2312版本 http://tools.jb51.net/tools/base64_decode-gb2312.phputf8版本 http://tools.jb51.net/tools/base64_decode-utf8.php复制代码 代码如下:<?php header('Content-Type: text/html; charset=gb2312'); $txt1 = stripslashes(trim( @$_POST['text1'])); $button = @

base64编码、解码函数

编码|函数 这是我看完几个base64编码.解码函数后自己改写的.因为,在中文操作系统的VBscript中,使用的是unicode字符集,所以很多base64编码.解码函数在理论上是正确的,但实际不能运行! 我加写了几个Unicode与Ansi编码转换的函数,现贴出来,请大家执教! 文件名称base64test.asp <% sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567

java base64编码和解码

Java 中使用base64编码和解码:   第一种方式: 通过反射使用java 中不对外公开的类: Java代码   /***       * encode by Base64       */       public static String encodeBase64(byte[]input) throws Exception{           Class clazz=Class.forName("com.sun.org.apache.xerces.internal.impl.dv.

JS 实现Base64编码与解码实例详解_javascript技巧

Js实现Base64编码与解码 Base64其实是一种简单的置换加密方式,但是BASE64的用处往往并不是为了防止信息泄露,而且为了方便传输,进过BASE64编码后的信息会比原始信息长,大概是4/3倍. Base64是一种基于64个可打印字符来表示二进制数据的表示方法.由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符. Base64常用于在通常处理文本数据的场合,表示.传输.存储一些二进制数据.包括MIME的email,email via MIME, 在XML中存储复杂数据.

java-安卓的base64在安卓解码不了,怎么回事

问题描述 安卓的base64在安卓解码不了,怎么回事 在那些解码网站上:http://www1.tc711.com/tool/BASE64.htm是解码出来的,但是在安卓解不出来,不知道为什么?? 求熟悉的帮破一下,这个东西搞了一个多少时....搞不懂,都同样的代码,怎么就不行呢? 提示错误:是不是在java有什么特殊情况解码呢?这乱码在网站都是可以解出来 java.lang.IllegalArgumentException: bad base-64 package china.testfour

《Python Cookbook(第3版)中文版》——6.10 Base64编码和解码

6.10 Base64编码和解码 6.10.1 问题 我们需要采用Base64编码来对二进制数据做编码解码操作. 6.10.2 解决方案 base64模块中有两个函数--b64encode()和b64decode()--它们正是我们所需要的.示例如下: >>> # Some byte data >>> s = b'hello' >>> import base64 >>> # Encode as Base64 >>>

Java实现BASE64编码和解码的方法_java

BASE64和其他相似的编码算法通常用于转换二进制数据为文本数据,其目的是为了简化存储或传输.更具体地说,BASE64算法主要用于转换二进制数据为ASCII字符串格式.Java语言提供了一个非常好的BASE64算法的实现,.本文将简要地讲述怎样使用BASE64以及它是怎样工作的. Base64的作用:主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输.由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下就可以了. 第一种方式: 通过反射使用java 中不对外公开的