将图片以BASE64式存入,将BASE64图片显示在网页上

本文介绍如何将图片转换为Base64编码并存入数据库,然后通过HTML和JavaScript在网页上显示这些Base64编码的图片。使用了jsp、html和ajaxSubmit方法进行前后端交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.选择文件


2.开始导入


3.页面显示图片


===================================================================

参考:http://blog.youkuaiyun.com/u010727398/article/details/53780736

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值