java后台接受到图片后保存方法

 更新时间:2019年06月10日 08:27:31   转载 投稿:laozhang  
在本篇文章里小编给大家整理了关于java后台接受到图片后怎么保存的相关知识点,需要的朋友们参考学习下。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程  。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

  • 第一步:借助于springmvc框架的平台实现。
  • 第二步:java网页下载功能怎么获取文件名。
  • 第三步:前端如何实现突破预览效果。

第二步骤:主要功能实现。springboot默认是集成springmvc,使用springboot和直接使用springmvc上传是一样的。springboot默认是集成springmvc,使用springboot和直接使用springmvc上传是一样的。

2、前端代码:

1、具体代码如下所示:

此处直接使用的表单同步提交。

<!DOCTYPE html>

<html>




<head>

<title>图片上传</title>

<meta name="keywords" content="keyword1,keyword2,keyword3"></meta>

<meta name="description" content="this is my page"></meta>

<meta name="content-type" content="text/html; charset=UTF-8"></meta>

</head>




<body>

<form enctype="multipart/form-data" method="post" action="/testUploadimg"> 

图片:<input type="file" name="file" /><br/> 

<input type="submit" value="上传" />.

</form>

</body>




</html>

 

控制器UploadController 实现

UploadController 主要分为3部分

1.1 调整页面请求goUploadImg

1.2 上传请求方法uploadImg

1.3 存储图片方法uploadFile

@Controllerpublic class UploadController {  

//跳转到上传文件的页面  

@RequestMapping(value = "/gouploadimg", method = RequestMethod.GET)  

public String goUploadImg() {    

//跳转到 templates 目录下的 uploadimg.html    

return "uploadimg";  

}  

//处理文件上传  

@ResponseBody //返回json数据  

@RequestMapping(value = "/testUploadimg", method = RequestMethod.POST)  

public String uploadImg(@RequestParam("file") MultipartFile file,              

HttpServletRequest request) {    

tring contentType = file.getContentType();    

String fileName = file.getOriginalFilename();    

String filePath = "D:/img";    

if (file.isEmpty()) {      

return "文件为空!";    

}    

try {      

uploadFile(file.getBytes(), filePath, fileName);    

} catch (Exception e) {      

// TODO: handle exception    

}    

//返回json    

return "上传成功";  

}  

public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception {    

File targetFile = new File(filePath);    

if (!targetFile.exists()) {      

targetFile.mkdirs();    

}    

FileOutputStream out = new FileOutputStream(filePath +"/"+ fileName);    

out.write(file);    

out.flush();    

out.close();  

}

}

2:同时需要将上传图片的原始文件名和存储文件名、以及关联id存入一个数据表中。

2.1 将存储文件名设置为UUID,避免存储文件名重复

public static String getUUID(){

    UUID uuid=UUID.randomUUID();

    String str = uuid.toString(); 

    String uuidStr=str.replace("-", "");

    return uuidStr;

   }

2.2 将存储文件名按照时间生成,避免存储文件名重复

System.nanoTime() 

该函数是返回纳秒的。1毫秒=1纳秒*1000*1000
如:long time1=System.nanoTime();

2.3 或者借助于SimpleDateFormat 将Date格式化到毫秒也可以解决文件重名的问题。

测试。

打开页面地址如下图所示:

相关文章

  • Java编程实现遍历两个MAC地址之间所有MAC的方法

    Java编程实现遍历两个MAC地址之间所有MAC的方法

    这篇文章主要介绍了Java编程实现遍历两个MAC地址之间所有MAC的方法,涉及Java针对MAC的遍历获取与字符串转换相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 全面了解Java反射机制

    全面了解Java反射机制

    Java的反射机制在实践中可谓无处不在,如果你已经工作几年,还对Java的反射机制一知半解,那么这篇文章绝对值得你读一读。
    2020-03-03
  • java中常见的死锁以及解决方法代码

    java中常见的死锁以及解决方法代码

    这篇文章主要介绍了java中常见的死锁以及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Java8中stream和functional interface的配合使用详解

    Java8中stream和functional interface的配合使用详解

    这篇文章主要给大家介绍了关于Java8中stream和functional interface配合使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java8具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-11-11
  • 基于java web获取网页访问次数代码实例

    基于java web获取网页访问次数代码实例

    这篇文章主要介绍了基于java web获取网页访问次数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java设计模式之备忘录模式(Memento模式)介绍

    Java设计模式之备忘录模式(Memento模式)介绍

    这篇文章主要介绍了Java设计模式之备忘录模式(Memento模式)介绍,memento是一个保存另外一个对象内部状态拷贝的对象,这样以后就可以将该对象恢复到原先保存的状态,需要的朋友可以参考下
    2015-03-03
  • SpringBoot封装自己的Starter的实现方法

    SpringBoot封装自己的Starter的实现方法

    这篇文章主要介绍了SpringBoot封装自己的Starter的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Java对象类型的判断详解

    Java对象类型的判断详解

    这篇文章主要介绍了Java对象类型的判断,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 使用Java 8中的Lambda表达式实现工厂模式

    使用Java 8中的Lambda表达式实现工厂模式

    这篇文章主要给大家介绍了使用Java 8中的Lambda表达式实现工厂模式的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • Java内存各部分OOM出现原因及解决方法(必看)

    Java内存各部分OOM出现原因及解决方法(必看)

    下面小编就为大家带来一篇Java内存各部分OOM出现原因及解决方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论