layui+java spring 实现图片文件新增到数据库

这篇具有很好参考价值的文章主要介绍了layui+java spring 实现图片文件新增到数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目场景:

layui+java spring 实现图片文件新增到数据库


解决方案:

1.首先layui是个不再更新的网址有想了解的可以浏览官网

表格组件 table - Layui 文档

2.官网内有专门的组件 代码直接粘过来即可

layui+java spring 实现图片文件新增到数据库,java,layui,spring

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Demo</title>
  <!-- 请勿在项目正式环境中引用该 layui.css 地址 -->
  <link href="//unpkg.com/layui@2.8.17/dist/css/layui.css" rel="stylesheet">
</head>
<body>
<button type="button" class="layui-btn" id="ID-upload-demo-btn">
  <i class="layui-icon layui-icon-upload"></i> 单图片上传
</button>
<div style="width: 132px;">
  <div class="layui-upload-list">
    <img class="layui-upload-img" id="ID-upload-demo-img" style="width: 100%; height: 92px;">
    <div id="ID-upload-demo-text"></div>
  </div>
  <div class="layui-progress layui-progress-big" lay-showPercent="yes" lay-filter="filter-demo">
    <div class="layui-progress-bar" lay-percent=""></div>
  </div>
</div>
<hr style="margin: 21px 0;">
<div class="layui-upload">
  <button type="button" class="layui-btn" id="ID-upload-demo-btn-2">
    <i class="layui-icon layui-icon-upload"></i> 多图片上传
  </button> 
  <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 11px;">
    预览图:
    <div class="layui-upload-list" id="upload-demo-preview"></div>
 </blockquote>
</div>
  
<!-- 请勿在项目正式环境中引用该 layui.js 地址 -->
<script src="//unpkg.com/layui@2.8.17/dist/layui.js"></script>
<script>
layui.use(function(){
  var upload = layui.upload;
  var layer = layui.layer;
  var element = layui.element;
  var $ = layui.$;
  // 单图片上传
  var uploadInst = upload.render({
    elem: '#ID-upload-demo-btn',
    url: '', // 实际使用时改成您自己的上传接口即可。
    before: function(obj){
      // 预读本地文件示例,不支持ie8
      obj.preview(function(index, file, result){
        $('#ID-upload-demo-img').attr('src', result); // 图片链接(base64)
      });
      
      element.progress('filter-demo', '0%'); // 进度条复位
      layer.msg('上传中', {icon: 16, time: 0});
    },
    done: function(res){
      // 若上传失败
      if(res.code > 0){
        return layer.msg('上传失败');
      }
      // 上传成功的一些操作
      // …
      $('#ID-upload-demo-text').html(''); // 置空上传失败的状态
    },
    error: function(){
      // 演示失败状态,并实现重传
      var demoText = $('#ID-upload-demo-text');
      demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
      demoText.find('.demo-reload').on('click', function(){
        uploadInst.upload();
      });
    },
    // 进度条
    progress: function(n, elem, e){
      element.progress('filter-demo', n + '%'); // 可配合 layui 进度条元素使用
      if(n == 100){
        layer.msg('上传完毕', {icon: 1});
      }
    }
  });
  // 多图片上传
  upload.render({
    elem: '#ID-upload-demo-btn-2',
    url: '', // 实际使用时改成您自己的上传接口即可。
    multiple: true,
    before: function(obj){
      // 预读本地文件示例,不支持ie8
      obj.preview(function(index, file, result){
        $('#upload-demo-preview').append('<img src="'+ result +'" alt="'+ file.name +'" style="width: 90px; height: 90px;">')
      });
    },
    done: function(res){
      // 上传完毕
      // …
    }
  });
});

</script>

</body>
</html>

这是官网的组件完整代码根据需求自己更改就行,前端就这些没啥很需要注意的

3.java代码

需要注意的点, String uploadDir = "D:\\";写自己定义的路径 

 

/**
 * 通用上传请求
 */
@PostMapping("/uploads")
@ResponseBody
public JsonResult uploads(@RequestParam("file") MultipartFile file) throws IOException {
    // 获取文件名
    String fileName = file.getOriginalFilename();
    // 获取文件内容
    byte[] bytes = file.getBytes();
    // 文件保存目录
    String uploadDir = "D:\\";
    // 文件保存路径
    String filePath = uploadDir + "/" + fileName;
    // 保存文件
    File desc = new File(filePath);
    if (!desc.exists())
    {
        if (!desc.getParentFile().exists())
        {
            desc.getParentFile().mkdirs();
        }
    }
    file.transferTo(desc);
    // 返回文件访问路径
    return JsonResult.success("成功", filePath);
}

  if (!desc.exists()) { if (!desc.getParentFile().exists()) { desc.getParentFile().mkdirs(); } }

这个if判断是判断你路径内有无文件没有的话则会给你创建一个文件用于存储图片,然后将路径和文件名返回给前端,前端定义一个字符串类型将这个路径传到后端就可以了

layui+java spring 实现图片文件新增到数据库,java,layui,spring

后端就是正常的新增写法 就不过多说了

也可以观看这个链接的也不错

 java如何将图片储存到数据库?_java上传图片保存到数据库-CSDN博客文章来源地址https://www.toymoban.com/news/detail-729563.html

到了这里,关于layui+java spring 实现图片文件新增到数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (解析+源码)基于JAVA Swing+MySQL实现学生信息管理系统(增、删、改、查)数据库/文件存储

    本文适合 有一定JAVA编程基础(听过一点课的同学) 的同学“食用”,源代码都在文末 源代码(点击跳转) ,第四部分是各个模块的实现,新建一个工程把下面代码添加进去,然后在数据库里按id-username-password和id-name-sex-telephone-number-birthday-note创建两个表,在Connect.java里面将us

    2024年02月04日
    浏览(53)
  • Java项目:ssm框架基于spring+springmvc+mybatis框架的民宿预订管理系统设计与实现(ssm+B/S架构+源码+数据库+毕业论文)

    本项目是一套ssm827基于SSM框架的民宿预订管理系统设计与实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse 确保可以运行! 该系统功能

    2024年01月22日
    浏览(84)
  • layui 新增tab标签页

    效果:

    2024年02月10日
    浏览(44)
  • 向量数据库:usearch的简单使用+实现图片检索应用

    usearch是快速开源搜索和聚类引擎×,用于C++、C、Python、JavaScript、Rust、Java、Objective-C、Swift、C#、GoLang和Wolfram 🔍中的向量和🔜字符串× 一个简单的例子(注:本例子在运行时向index中不断添加项目,并将最后的index持久化为一个文件,在运行时由于添加项目内存占用会不断增

    2024年02月02日
    浏览(53)
  • Springboot+vue 实现图片上传至数据库并显示

    前端是Vue + Element-UI 采用el-upload组件(借鉴官方)上传图片: action 在这里可以随便设置,因为在后面有 :http-request 去自己设置请求,注意由于是自己写请求需要 :auto-upload=“false” ,并且由于是前后端连接要解决跨域问题,所以在 $hostURL+imageUrl 定义了一个全局变量: 在meth

    2024年02月07日
    浏览(44)
  • Java spring-boot项目中如何上传下载文件或图片到spring-boot规定的非静态目录

    spring-boot的项目,虽然它自己定义了一个静态文件的存储目录,但是这个目录一般是作为前端静态文件的目录来作为使用的。如果使用这个静态目录来作为我们上传文件的目录会有一个比较尴尬的地方:将spring-boot打包成为jar包后,随着上传图片的增多,这个jar包也会跟着变大

    2024年02月16日
    浏览(58)
  • 基于Java和Spring:实现图片压缩、WebP格式转换与水印添加

    大多数公司通常会拥有面向企业端(B端)和消费者端(C端)的应用,如淘宝IOS/Android端和PC端。对于C端产品而言,往往具备访问量大、数据量庞大的特点,例如类似淘宝的商品详情页,其中包含大量且尺寸较大的图片。在这种前提下,为了确保良好的用户体验,需要在保证图

    2024年03月24日
    浏览(54)
  • MySQL 数据库中如何新增列

    本文主要介绍了 MySQL 数据库中如何新增列。对于需求变更或系统扩展而需要对数据库表中新增列的情况,我们可以通过 ALTER TABLE 语句的方式来实现。本文从多方面进行了详细阐述,包括新增列名、MySQL 表添加一列、MySQL 增加一列数据、MySQL 新增列并赋值、MySQL 新增和更新、

    2024年04月27日
    浏览(32)
  • 远程xml读取解析,将image url下载到本地,延时队列定时删除文件,图片访问路径保存在数据库中

    远程xml部分内容 mq发布端定时任务发送消息 mq消费端 1,远程xml读取 2,xml解析,将image中图片url保存在集合中 3,遍历集合,当本地不存在此图片时,下载图片至本地 4,将图片路径传给延时队列,用于稍后删除图片 5,保存自定义图片访问路径等信息到数据库 XMLUtil读取远程

    2024年02月15日
    浏览(50)
  • layui会议OA项目数据表格新增改查

    在上篇博客我们实现了左侧树形菜单与选项卡,今天我们来实现最重要的部分——数据表格的增删改查 将rid身份用中文表示,即将 rid 转换为对应的角色名称 data方法:该方法用于向R对象中添加键值对数据,并返回R对象本身,以支持链式调用 ok方法和error方法:这些方法用于

    2024年02月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包