ssm框架上传图片保存到本地和数据库示例

发布时间 - 2026-01-10 23:28:15    点击率:

本文介绍了ssm框架上传图片保存到本地和数据库示例,主要使用了Spring+SpringMVC+MyBatis框架,实现了ssm框架上传图片的实例,具体如下:

1、前台部分

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
  <meta charset="UTF-8"> 
  <title>Title</title> 
  <script src="resources/jquery/jquery-3.0.0.js"></script> 
</head> 
<body> 
<img id="image"src=""/> 
<br/> 
<input type="file"onchange="selectImage(this);"/> 
<br/> 
<input type="button"onclick="uploadImage();"value="提交"/> 
<script> 
  var image = ''; 
  function selectImage(file){ 
    if(!file.files || !file.files[0]){ 
      return; 
    } 
    var reader = new FileReader(); 
    reader.onload = function(evt){ 
      document.getElementById('image').src = evt.target.result; 
      image = evt.target.result; 
    } 
    reader.readAsDataURL(file.files[0]); 
  } 
  function uploadImage(){ 
    image = JSON.stringify(image) 
    $.ajax({ 
 
      type:'POST', 
 
      url: '/blog/test', 
 
      data: {base64: image 
      }, 
 
      async: false, 
 
      dataType: 'json', 
 
      success: function(data){ 
alert(data.success) 
        if(data.success){ 
 
          alert('上传成功'); 
 
        }else{ 
 
          alert('上传失败'); 
 
        } 
 
      }, 
 
      error: function(err){ 
 
        alert('网络故障'); 
 
      } 
 
    }); 
 
  } 
</script> 
<script src="jquery-1.11.1.min.js"></script> 
</body> 
</html> 

2、controller

@Inject 
  private IUserService userService; 
  @RequestMapping(value="test") 
  @ResponseBody 
  public ConsoleResult test(String base64){ 
//   自定义返回前台数据格式 
    ConsoleResult res = new ConsoleResult(); 
//   去掉base64数据头部data:image/png;base64,和尾部的” " “ 
    String[] ww= base64.split(","); 
    base64 = ww[1]; 
    String[] aa = base64.split("\""); 
    base64 = aa[0]; 
    try { 
//     将图片插入数据库 
      userService.base64test(base64); 
//     图片保存到本地 
      String path = "D:/asdfasdf.jpg"; 
      Base64File file = new Base64File(); 
      file.decoderBase64File(base64, path); 
//     成功标识 
      res.setStatus(ConsoleResult.successStatus); 
    } catch (Exception e) { 
      res.setStatus(ConsoleResult.faultStatus); 
    } 
    return res; 
  } 

3、base64

/** 
   * 将base64字符解码保存文件 
   * 
   * @param base64Code 
   * @param targetPath 
   * @throws Exception 
   */ 
 
  public static void decoderBase64File(String base64Code, String targetPath) { 
    byte[] buffer; 
    FileOutputStream out = null; 
    try { 
      buffer = new BASE64Decoder().decodeBuffer(base64Code); 
      out = new FileOutputStream(targetPath); 
      out.write(buffer); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } finally { 
      try { 
        if (out != null) { 
          out.close(); 
        } 
      } catch (IOException e) { 
        e.printStackTrace(); 
      } 
    } 
  } 

4、mapper.xml

<update id="base64Test" parameterType="String"> 
  update t_user set U_ABOUT = #{base64} where u_name = '971171444' 
 </update> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# ssh框架上传图片  # ssm框架实现图片上传  # Java后端SSM框架图片上传功能实现方法解析  # ssm框架Springmvc文件上传实现代码详解  # MySQL+SSM+Ajax上传图片问题  # SSM框架+Plupload实现分块上传大文件示例  # 在SSM框架中将图片上传到数据库中的实现代码  # 上传图片  # 上传  # 自定义  # 大家多多  # 实现了  # 数据格式  # 保存文件  # 使用了  # button  # files  # uploadImage  # var  # function  # onclick  # input  # image  # id  # type  # selectImage  # onchange 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Laravel中的Facade(门面)到底是什么原理  *服务器网站为何频现安全漏洞?  微信公众帐号开发教程之图文消息全攻略  无锡营销型网站制作公司,无锡网选车牌流程?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Windows Hello人脸识别突然无法使用  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  JavaScript实现Fly Bird小游戏  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  Laravel如何保护应用免受CSRF攻击?(原理和示例)  网站建设保证美观性,需要考虑的几点问题!  浅谈redis在项目中的应用  ,怎么在广州志愿者网站注册?  Python文件流缓冲机制_IO性能解析【教程】  如何挑选优质建站一级代理提升网站排名?  微信小程序 五星评分(包括半颗星评分)实例代码  Laravel模型事件有哪些_Laravel Model Event生命周期详解  如何快速辨别茅台真假?关键步骤解析  打造顶配客厅影院,这份100寸电视推荐名单请查收  浅析上传头像示例及其注意事项  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  Laravel如何实现模型的全局作用域?(Global Scope示例)  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  JS中对数组元素进行增删改移的方法总结  公司网站制作价格怎么算,公司办个官网需要多少钱?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Laravel如何与Inertia.js和Vue/React构建现代单页应用  Laravel如何使用Vite进行前端资源打包?(配置示例)  奇安信“盘古石”团队突破 iOS 26.1 提权  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  Android中AutoCompleteTextView自动提示  昵图网官网入口 昵图网素材平台官方入口  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  微信小程序 canvas开发实例及注意事项  Python文件操作最佳实践_稳定性说明【指导】  深圳网站制作平台,深圳市做网站好的公司有哪些?  装修招标网站设计制作流程,装修招标流程?  如何获取上海专业网站定制建站电话?  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  详解Huffman编码算法之Java实现  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  怎么用AI帮你为初创公司进行市场定位分析?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  如何快速启动建站代理加盟业务?  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】