将图片以BASE64式存入,将BASE64图片显示在网页上
2017-05-11 10:25
204 查看
HTML(因为我想获取控制层返回值所以用了):
<form method="POST" enctype="multipart/form-data" id="imgupload">
<br>请选择图片:<input id="imgfile" name="imgfile" size="80" type="file"><input name="upload" type="button" value="开始导入" onclick="checkform();"/> </form>
图片:<img src="" id="img1" class='file-preview-image' width="100px" height="100">
JS(获取控制层返回值所以用了ajaxSubmit提交表单,需要导入<script type="text/javascript" src="<%=request.getContextPath()%>/PAGE/js/jquery.form.js"></script>):
$('#imgupload').ajaxSubmit({
type: 'post',
url:"upload/imgImport",
dataType:"json",
error:function(result){
console.log(result);
},
success:function(result){
console.log(result);
var data=result.message;
$('#img1').attr("src","data:image/jpg;base64,"+data);//这里是对传到页面的base64操作
}
});
控制层:
@Controller
@RequestMapping("/upload")
public class UploadController {
@Autowired
private UploadService uploadService;
static BASE64Encoder encoder = new sun.misc.BASE64Encoder();
static BASE64Decoder decoder=new BASE64Decoder();
@RequestMapping(value = "/imgImport")
@ResponseBody
protected JsonResult uploadXmInfo(HttpServletRequest req,HttpServletResponse res) throws Exception {
// 转型为MultipartHttpRequest:
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) req;
// 获得文件:
MultipartFile file = multipartRequest.getFile("imgfile");
byte[] array = new byte[1024];
array=file.getBytes();
String len=encoder.encode(array);//比特转换为BASE64String
System.out.println("len"+len);
return new JsonResult(1,len);
}
效果显示:
1.选择文件
![](https://img-blog.csdn.net/20170511104245643?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjA4Njc5ODE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.开始导入
![](https://img-blog.csdn.net/20170511104305293?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjA4Njc5ODE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3.页面显示图片
![](https://img-blog.csdn.net/20170511104318362?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjA4Njc5ODE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
===================================================================
参考:http://blog.csdn.net/u010727398/article/details/53780736
<form method="POST" enctype="multipart/form-data" id="imgupload">
<br>请选择图片:<input id="imgfile" name="imgfile" size="80" type="file"><input name="upload" type="button" value="开始导入" onclick="checkform();"/> </form>
图片:<img src="" id="img1" class='file-preview-image' width="100px" height="100">
JS(获取控制层返回值所以用了ajaxSubmit提交表单,需要导入<script type="text/javascript" src="<%=request.getContextPath()%>/PAGE/js/jquery.form.js"></script>):
$('#imgupload').ajaxSubmit({
type: 'post',
url:"upload/imgImport",
dataType:"json",
error:function(result){
console.log(result);
},
success:function(result){
console.log(result);
var data=result.message;
$('#img1').attr("src","data:image/jpg;base64,"+data);//这里是对传到页面的base64操作
}
});
控制层:
@Controller
@RequestMapping("/upload")
public class UploadController {
@Autowired
private UploadService uploadService;
static BASE64Encoder encoder = new sun.misc.BASE64Encoder();
static BASE64Decoder decoder=new BASE64Decoder();
@RequestMapping(value = "/imgImport")
@ResponseBody
protected JsonResult uploadXmInfo(HttpServletRequest req,HttpServletResponse res) throws Exception {
// 转型为MultipartHttpRequest:
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) req;
// 获得文件:
MultipartFile file = multipartRequest.getFile("imgfile");
byte[] array = new byte[1024];
array=file.getBytes();
String len=encoder.encode(array);//比特转换为BASE64String
System.out.println("len"+len);
return new JsonResult(1,len);
}
效果显示:
1.选择文件
2.开始导入
3.页面显示图片
===================================================================
参考:http://blog.csdn.net/u010727398/article/details/53780736
相关文章推荐
- js 显示base64编码的二进制流网页图片
- BASE64编码的图片在网页中的显示问题
- js 显示base64编码的二进制流网页图片
- 图片的base64编码实现以及网页上显示
- BASE64编码的图片在网页中的显示问题的解决
- BASE64编码的图片在网页中的显示问题的解决
- js 显示base64编码的二进制流网页图片
- 网页显示base64编码的图片
- C# 在网页中将Base64编码的字符串显示成图片
- 卡巴斯基的反广告功能使网页中的gif图片无法显示
- 网页中的png图片无法显示
- 使用网页对话框来显示图片 window.open()
- 网页图片快速显示的六种办法
- firefox 网页部分图片无法显示
- AJAX设计模式之Lightbox---图片和网页外、连 flash、影片都可以显示在 Lightbox 弹出的方框里面
- WAP网页中图片无法正常显示
- 用JSP从数据库中读取图片并显示在网页上
- Vista + IIS7下不能显示图片jpg等和静态网页Html等
- 网页设计[显示站点信息的导航及如何用CSS来控制图片大小]
- 如何在窗体编程和网页编程中按图片比例显示缩放后的图片(.net 2005)