JavaWeb项目 js图片上传到Oracle转为base64存入…
2018-06-18 00:57:00来源:未知 阅读 ()
jsp页面代码:
<form name="form" id="form" method="post">
<span class="title-span">设备图片</span>
<input type="file" id="imagefile"/>
<input type="button" value="上传图片" onclick="saveImg('保存图片路径')"/>
<div name="result" id="result">
<!-- 这里用来显示图片结果-->
</div>
</form>
js如下:
/*****读取图片 start******/
var imgFile = "";
$("#imagefile").live('change',function(){
if(typeof FileReader=='undifined') { //判断浏览器是否支持filereader
var result=document.getElementById("result");
result.innerHTML="<p>抱歉,你的浏览器不支持 FileReader</p>";
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.onload=function(e) {
var result=document.getElementById("result");
result.innerHTML='<img style="width:100%;" src="'+this.result+'" alt=""/>';
}
}
});
/*****读取图片 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 ? "上传成功" : "上传失败"
}
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 项目经理说这种代码必须重构,我同意了,这代码是写的是有多 2020-06-11
- eclipse下创建Maven项目(包含webapp目录结构) 2020-06-09
- 阿里巴巴26个屌炸天的开源项目,你知道几个? 2020-06-09
- Idea实现SpringBoot外置Tomcat的Web项目热部署(包含静态文 2020-06-04
- 10 个牛逼的后台开源项目,接私活赚钱必备! 2020-06-03
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash