java 图片存入oracle数据库_JavaWeb项目 js图片上传到Oracle转为base64存入数据库

该博客介绍了如何在JavaWeb项目中实现图片上传并转化为Base64编码,然后将Base64字符串存入Oracle数据库。通过在jsp页面使用js读取图片,使用FormData对象和Ajax进行异步上传,后端使用CommonsMultipartResolver处理文件,将图片内容转成Base64并保存至数据库。
摘要由CSDN通过智能技术生成

jsp页面代码:

设备图片

js如下:

/*****读取图片 start******/

var imgFile = "";

$("#imagefile").live('change',function(){

if(typeof FileReader=='undifined') { //判断浏览器是否支持filereader

var result=document.getElementById("result");

result.innerHTML="

抱歉,你的浏览器不支持 FileReader

";

return false;

}

imgFile = document.getElementById("imagefile").files[0];

if(!/image\/\w+/.test(imgFile.type)) {//判断获取的是否为图片文件

alert("请选择正确的图像文件");

var obj = document.getElementById('imagefile') ;

obj.outerHTML=obj.outerHTML;

return false;

}

if(imgFile != undefined ){

var reader=new FileReader();

reader.readAsDataURL(imgFile);

reader.οnlοad=function(e) {

var result=document.getElementById("result");

result.innerHTML='';

}

}

});

/*****读取图片 end******/

/*****图片上传的方法******/

function saveImg(url) {

var formData = new FormData(); // 创建formData表单数据对象

formData.append("file", imgFile); // 文件对象

$.ajax({

url: url,

type: 'post',

data: formData,

processData : false,

contentType : false,

cache: false,

success: function (str) {

alert(str);

},

error: function (jqXHR, textStatus, errorThrown) {

alert(jqXHR.responseText);

}

});

}

/*****后台代码******/

@RequestMapping(value="/save", produces= "text/plain;charset=UTF-8")

@ResponseBody

public String saveEquipment(Equipment equipment,HttpServletRequest request) throws Exception{

/**先实例化一个文件解析器*/

CommonsMultipartResolver coMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());

/**判断request请求中是否有文件上传*/

if (coMultipartResolver.isMultipart(request)) {

/**转换request*/

MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;

/**获得文件*/

MultipartFile file = multiRequest.getFile("file");

if (file != null) {

InputStream is = file.getInputStream();

byte[] nb = new byte[is.available()];

is.read(nb);

is.close();

Base64Encoder encoder = new Base64Encoder();

/**设置转为base64的图片*/

String encode = encoder.encode(nb).trim();

// 设置图片属性

equipment.setIcon(encode);

}else {

System.out.println("--------未选择文件-------");

}

// 调用持久层方法保存到数据库

result = equipmentService.insert(equipment);

return result ? "上传成功" : "上传失败"

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值