java后台接受到图⽚后保存⽅法
Java是⼀门⾯向对象编程语⾔,不仅吸收了C++语⾔的各种优点,还摒弃了C++⾥难以理解的多继承、指针等概念,因此Java语⾔具有功能强⼤和简单易⽤两个特征。Java语⾔作为静态⾯向对象编程语⾔的代表,极好地实现了⾯向对象理论,允许程序员以优雅的思维⽅式进⾏复杂的编程。
Java具有简单性、⾯向对象、分布式、健壮性、安全性、平台独⽴与可移植性、多线程、动态性等特点。Java可以编写桌⾯应⽤程序、Web 应⽤程序、分布式系统和嵌⼊式系统应⽤程序等。
第⼀步:借助于springmvc框架的平台实现。
go和java后端开发劣势
第⼆步: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 = ContentType();
String fileName = OriginalFilename();
String filePath = "D:/img";
if (file.isEmpty()) {
return "⽂件为空!";
}
try {
Bytes(), 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 (!ists()) {
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 = String();
String place("-", "");
return uuidStr;
}
2.2 将存储⽂件名按照时间⽣成,避免存储⽂件名重复
System.nanoTime()
该函数是返回纳秒的。1毫秒=1纳秒*1000*1000
如:long time1=System.nanoTime();
2.3 或者借助于SimpleDateFormat 将Date格式化到毫秒也可以解决⽂件重名的问题。
测试。
打开页⾯地址如下图所⽰:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。