js代码
//利用formdata上传

 var dataUrl = $('#canvas').getDataUrl();
var img = $('<img>').attr('src', dataUrl); //显示图片
var oMyForm = new FormData(); //创建formdata
var blobBin = dataURLtoBlob(dataUrl); //base64转换blob
oMyForm.append("blobObject", blobBin); //想formData添加blob数据
$.ajax({
url: $.getUrl()+"activity/updateImg",
type: "POST",
data: oMyForm,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (msg) {
console.log("yes");
}
}); //**dataURL to blob** dataURL转换blob
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: mime });
}
java代码
 
//spring mvc
 @RequestMapping(value="updateImg",method=RequestMethod.POST)
public void upLoad(HttpServletRequest request,HttpServletResponse response) throws IOException {
System.out.println("enter...");
// 从请求中获取到文件信息需要将请求转换为MultipartHttpServletRequest类型
MultipartHttpServletRequest MulRequest = request instanceof MultipartHttpServletRequest ? (MultipartHttpServletRequest) request : null;
Iterator<String> fileNames = MulRequest.getFileNames();
byte[] imgByte = null;
if (fileNames.hasNext()) { // 遍历请求中的图片信息
String fileName = fileNames.next(); // 图片对应的参数名
MultipartFile file = MulRequest.getFile(fileName); // 获取到图片
if (file != null) {
System.out.println("file.getSize():" + file.getSize()); // 图片大小
imgByte=file.getBytes();// 可以获取到图片的字节数组
}
} for(int i=0;i<imgByte.length;++i)
{
if(imgByte[i]<0)
{//调整异常数据
imgByte[i]+=256;
}
}
//生成jpeg图片
String imgFilePath = "d://222.jpg";//新生成的图片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(imgByte);
out.flush();
out.close();
}

ajax java base64 图片储存的更多相关文章

  1. Java base64 图片编码转换

    package com.test; import org.junit.Test; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encode ...

  2. JAVA 读取图片储存至本地

    需求:serlvet经过处理通过报表工具返回一张报表图(柱状图 折线图). 现在需要把这个图存储到本地 以便随时查看 // 构造URL URL url = new URL(endStr); // 打开 ...

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

    1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...

  4. jquery异步ajax超大长度base64图片长字段数据传输问题解决办法和php后台处理办法

    2017年5月9日19:25:02 在做在线签名的时候,到了图片上传的时候,使用jquery异步ajax上传base64的图片数据的时候,使用默认的方式进行数据传输偶尔会出现 生产的图片只有上半部分, ...

  5. 如何用java实现图片与base64转换

    如果你是一个软件开发,不论前端后端工程师,图片的处理你是肯定要会的,关于图片的Base64编码,你可能有点陌生,但是这是一个软件工程师应该要掌握的知识点,现在很多网友把图片与base64转换都做成了小 ...

  6. Kotlin/Java Base64编码和解码(图片、文件)

    原文: Kotlin/Java Base64编码和解码(图片.文件) | Stars-One的杂货小窝 最近在项目中使用到了Base64编码和解码,便是稍微写篇文章记录一下 PS:本文代码都是使用Ko ...

  7. 图片上传前 压缩,base64图片压缩 Exif.js处理ios拍照倒置等问题

    曾写过在前端把图片按比例压缩不失真上传服务器的前端和后台,可惜没有及时做总结保留代码,只记得js利用了base64位压缩和Exif.js进行图片处理,还有其中让我头疼的ios拍照上传后会倒置等诸多问题 ...

  8. BASE64图片转字符串

    Java代码图片字符串互转 /** * 将base64字符串转成图片 * TODO * @param imgStr base64图片字符串 * @param path 目标输出路径 * @return ...

  9. Base64图片编码的使用

    一.base64编码介绍 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64编码可用于在HTTP环境下传递较长的标识信息.采用Base64编码具有不可读性,即所编码的数据 ...

随机推荐

  1. RegExp

    var str = "1a1b1c";var reg = new RegExp("1(.)", "g");alert(reg.test(st ...

  2. Web开发中最致命的8个小错误

    错误1:表单的label标签跟表单字段没有关联 利用“for”属性允许用户单击label也可以选中表单中的内容.这可以扩大复选框和单选框的点击区域,非常实用. 错误2:logo图片没有链接到主页 点击 ...

  3. While循环

    package ForType; public class ForType { /** * @param args */ public static void main(String[] args) ...

  4. CSS表达式

    一直以来我们被教育说CSS Expression是个坏东西,很影响性能,应该禁止使用,但是如果仔细想想CSS表达式影响性能的原因,规避掉影响性能的写法,CSS表达式还是能给我们带来一些惊喜的.CSS表 ...

  5. xcode意外退出

    完全不明所以的频繁退出 第一种 排除SVN冲突 在团队开发中,SVN冲突是最常见的了,程序异常时查看SVN文件冲突基本上成了本能. 排除SVN冲突 首先,右键主项目文件即xcodeproj文件,显示包 ...

  6. ubuntu方块乱码

    更改下环境变量/etc/default/locale LANG="en_US.UTF-8"LANGUAGE="en_US:en"

  7. Asp.net Web API 返回Json对象的两种方式

    这两种方式都是以HttpResponseMessage的形式返回, 方式一:以字符串的形式 var content = new StringContent("{\"FileName ...

  8. ScorllView中嵌套listView与Viewpager的焦点问题处理

    解决进入该页面直接显示中的listview而不是从页面最顶端开始显示在setAdapter后调用listview的smoothScrollTo(0,20); 解决listview只能显示一条 需要重写 ...

  9. NSString,NSArray,NSNumber等类的继承问题

    问题引入,我想给NSString类扩展一些新的方法.在Objective-C中可以有两种方法,一是继承,二是类别.本文先不讨论类别,我们用继承的方法试一下: @interface StringEx : ...

  10. ASP.NET 缓存技术分析

    缓存功能是大型网站设计一个很重要的部分.由数据库驱动的Web应用程序,如果需要改善其性能,最好的方法是使用缓存功能.可能的情况下尽量使用缓存,从内存中返回数据的速度始终比去数据库查的速度快,因而可以大 ...