一、注意事项:

1,该项目主要采用的是springboot+thymeleaf框架

2,代码展示的为ajax完成图片上传(如果不用ajax只需要改变相应的form表单配置即可)

二、效果实现:

1,页面效果:

2,文件夹路径下就会多了对应的图片:

三、代码实现:

1,在html文本中编辑为(采用thymeleaf框架):

  

提交

2,编辑js代码:

两种情况:1,有file中有值的时候提交;2,file文件中没有值的时候提交

function submitForm(pageIndex, pageSize) {

var formData = new FormData(); //将需要提交的参数封装起来

formData.append("id", $("#id").val());

var zswb = $("#file").val(); //获取file中的内容,看是否有值

if (zswb == '' || zswb.length < 1) { //没有file提交的时候走的接口

$.ajax({

url : '/editMovieWithoutFile',

type : 'post',

data : formData,

processData : false,

contentType : false,

success : function(value) {

var result = JSON.parse(value);

if (result == 'true') {

window.location.href = "/index?pageIndex=" + pageIndex+ "&pageSize=" + pageSize;

} else {

Lobibox.alert('error', {msg : "媒资信息更新失败!!!"});

}

}

});

} else { //有file提交的时候走的接口

formData.append("file", $("#file")[0].files[0]);

$.ajax({

url : '/editMovieInfo',

type : 'post',

data : formData,

processData : false,

contentType : false,

success : function(value) {

var result = JSON.parse(value);

if (result == 'true') {

window.location.href = "/index?pageIndex=" + pageIndex+ "&pageSize=" + pageSize;

} else {

Lobibox.alert('error', {msg : "媒资信息更新失败!!!"});

}

}

});

}

}

//图片回显:

function preview(file) {

$("#imgHidden").css("display", "none");

var prevDiv = document.getElementById('preview');

if (file.files && file.files[0]) {

var reader = new FileReader();

reader.onload = function(evt) {

      prevDiv.innerHTML = '';

}

reader.readAsDataURL(file.files[0]);

} else {

prevDiv.innerHTML = '

}

}

3,application.properties中的配置上传的限制

#配置文件传输

spring.servlet.multipart.enabled=true

spring.servlet.multipart.file-size-threshold=0

#单个数据的大小

spring.servlet.multipart.maxFileSize=100MB

#总数据的大小

spring.servlet.multipart.maxRequestSize=100MB

4,controller(这里就不演示无file的情况,因为只是接受参数很简单):

/**

* 有file文件时

* @param movieDto 封装了需要传递过来的参数

* @param file 图片file

*/

@RequestMapping("/editMovieInfo")

@ResponseBody

public String editMovieInfo(@RequestParam("id")final int id,@RequestParam("file")MultipartFile file) {

int result = btShareService.editMovieInfo(id,file,uploadDir);

if (result > -1) {

return JSON.toJSONString("true");

} else {

return JSON.toJSONString("false");

}

}

5,service层处理:

@Transactional

@Override

public int editMovieInfo(int id, MultipartFile file,String uploadDir) {

try {

// 图片路径

String imgUrl = null;

//上传

String filename = upload(file, uploadDir, file.getOriginalFilename());

if (!EmptyUtil.isEmpty(filename)) {

imgUrl = new File(uploadDir).getName() + "/" + filename;

}

MovieInfo movie = movieInfoService.selectMovieInfoByDcpId(Integer.valueOf(movieDto.getId()));

movie .setImgUrl(imgUrl)

movieInfoService.updateMovieInfoByDcpId(movieInfo);

return 0;

} catch (Exception e) {

e.printStackTrace();

return -1;

}

}

图片上传的方法

public String upload(MultipartFile file, String path, String fileName) throws Exception {

// 生成新的文件名

String realPath = path + "/" + UUID.randomUUID().toString().replace("-", "")+fileName.substring(fileName.lastIndexOf("."));

File dest = new File(realPath);

// 判断文件父目录是否存在

if (!dest.getParentFile().exists()) {

dest.getParentFile().mkdir();

}

// 保存文件

file.transferTo(dest);

return dest.getName();

}

6,至于Dao层的操作和数据库修改这里就直接省略了….

注意:本文来自博客园-原创精华区。本站无法对本文内容的真实性、完整性、及时性、原创性提供任何保证,请您自行验证核实并承担相关的风险与后果!

CoLaBug.com遵循[CC BY-SA 4.0]分享并保持客观立场,本站不承担此类作品侵权行为的直接责任及连带责任。您有版权、意见、投诉等问题,请通过[eMail]联系我们处理,如需商业授权请联系原作者/原网站。

java实现图片上传_java实现图片的上传和展示相关推荐

  1. java 图片上传_java web图片上传和文件上传实例

    本篇文章主要介绍了java web图片上传和文件上传实例,具有一定的参考价值,有需要的可以了解一下. 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多 ...

  2. java 图片上写字_java 在图片上写字,两个图片合并的实现方法

    实例如下: package writeimg; import javax.imageio.ImageIO; import java.awt.Color; import java.awt.Font; i ...

  3. java cropper 上传_java web 网站头像上传处理 (springmvc +bootstrap+cropper)

    制作头像上传.请根据您的实际需求,修改代码,不完全正确,仅供参考! 前端页面设计使用bootstrap ,头像预览和剪裁工具使用cropper 后台使用springmvc. 现在来看前端的页面设计 前 ...

  4. java 给图片加马赛克_java处理图片--图片的缩放,旋转和马赛克化

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 这是我自己结合网上的一些资料封装的java图片处理类,支持图片的缩放,旋转,马赛克化.(转 ...

  5. java图片转字符_java实现图片转字符图(看的过去的亚子)

    普通图片转换为ASSIC码灰度图片 原图: 效果图: 转换方法 读取图片文件到BufferedImage 读取BufferedImage中的RGB值 将RGB三色值按照(0.3,0.59,0.11)权 ...

  6. java获取图片的分辨率_Java读取图片分辨率

    代码依赖于其他工具包,下载请移步:http://download.csdn.net/detail/zhaoguoshuai91/9231957 废话不多说,直接上代码 public class Ima ...

  7. java 断点上传_java HTTP文件断点上传

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...

  8. java画板中画直线_java实现画图板上画一条直线

    目标:在画图板上画一条直线,供大家参考,具体内容如下 一.首先需要建立一个界面 过程:1.创建界面对象(Java语言中已经有,可直接创建对象来使用). 2.对于一个界面,我们需要设置它的大小.居中.界 ...

  9. java 跨域上传_java后台图片跨域上传图片 文件

    发送方 @ResponseBody @RequestMapping(value="/imgUpLoadNewOneKuaYu")public String imgUpLoadNew ...

  10. java公众号图片上传_java微信公众号上传下载图片,springmvc demo

    [实例简介] 微信上传下项目使用说明: 1.本项目适合学习springmvc学者(springmvc demo), url(http://localhost:8082/com.demo.weixin/ ...

最新文章

  1. OpenGL ES3 0实现简单粒子火焰效果
  2. Python学习日记(六) 浅深copy
  3. Github中Tag的使用
  4. C#LeetCode刷题之#232-用栈实现队列​​​​​​​​​​​​​​(Implement Queue using Stacks)
  5. kubernetes之flannel 网络分析
  6. 安卓学习笔记14:安卓手势操作编程
  7. php编程实现水仙花数,php实现水仙花数的4个示例分享
  8. 反思 大班 快乐的机器人_幼儿园大班教案《蚂蚁宝宝钻洞》含反思
  9. Iroha and Haiku II
  10. python地理数据处理相关的操作
  11. 分享Python入门经典基础题(day1)附完整答案
  12. EXcel 2016高级VBA编程下载
  13. VUE中使用Echarts图表
  14. USB Server应用于税控盘的远程集中管理
  15. m4s格式转换mp3_QQ音乐下载的歌曲怎么转换MP3?音频转换格式详细教程
  16. java策略模式使用场景,Java设计模式—策略模式
  17. 遍历图像像素的几种方法
  18. Alarm Clock C/C++ Version
  19. python 爬取拉钩数据
  20. ijkplayer源码---倍速

热门文章

  1. Unity插件之TextMeshPro 富文本
  2. 突发丨BSV暴涨200% 澳本聪又搞事情了!
  3. 电子教学试验设备计算机仿真,当代大学中计算机仿真实验教学模式探究
  4. Mysql统计库表大小sql整理
  5. 【Java 继承】了解Java类的继承的特点,继承的关系,继承的使用,到底什么是继承?
  6. 微信小程序wx.login()登录
  7. halcon读取图片的4种方法
  8. 专题1:python之列表,字典知识点查缺补漏
  9. 提问也能拿书,解惑却要送书!安卓巴士就是这么好!来拿书吧!
  10. 温德姆酒店集团计划未来三年内在中国开设500家酒店