控制器:
package com.exam.controller;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.UUID;
@RestController
public class FileController {
private final String filepathDir = "F:\\exam\\src\\main\\resources\\static\\images\\";
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
String oldfilename = file.getOriginalFilename();
String extname = oldfilename.substring(file.getOriginalFilename().lastIndexOf("."));
String newfliename = UUID.randomUUID().toString() + extname;
String savepath = filepathDir + newfliename;
File file1 = new File(savepath);
if(!file1.exists()){
file1.createNewFile();
}
Integer n= FileCopyUtils.copy(file.getInputStream(), new FileOutputStream(new File(savepath)));
long size = file.getSize();
if(n!=size){
return "文件上传失败!";
}else {
return savepath;
}
}
}
页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>zyupload上传实例</title>
<link rel="stylesheet" href="lib/jq-module/zyupload/zyupload-1.0.0.min.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<div id="zyupload" class="zyupload"></div>
</div>
</div>
<script src="lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="js/glubo.js" charset="utf-8"></script>
<script src="lib/jq-module/zyupload/zyupload-1.0.0.min.js" charset="utf-8"></script>
<script type="text/javascript">
$(function () {
$("#zyupload").zyUpload({
width: "650px",
height: "400px",
itemWidth: "140px",
itemHeight: "115px",
url: httpurl+"/files/upload",
fileType: ["jpg", "png", "txt", "js", "exe","doc","docx"],
fileSize: 51200000,
multiple: true,
dragDrop: true,
tailor: true,
del: true,
finishDel: false,
onSelect: function (selectFiles, allFiles) {
console.info("当前选择了以下文件:");
console.info(selectFiles);
},
onDelete: function (file, files) {
console.info("当前删除了此文件:");
console.info(file.name);
},
onSuccess: function (file, response) {
console.info("此文件上传成功:");
console.info(file.name);
console.info("此文件上传到服务器地址:");
console.info(response);
$("#uploadInf").append("<p>上传成功,文件地址是:" + response + "</p>");
},
onFailure: function (file, response) {
console.info("此文件上传失败:");
console.info(file.name);
},
onComplete: function (response) {
console.info("文件上传完成");
console.info(response);
}
});
});
</script>
</body>
</html>
配置信息:
$("#zyupload").zyUpload({
width: "650px",
height: "400px",
itemWidth: "140px",
itemHeight: "115px",
url: "api/upload",
fileType: ["jpg", "png", "txt", "js", "exe",doc,docx],
fileSize: 51200000,
multiple: true,
dragDrop: true,
tailor: true,
del: true,
finishDel: false,
onSelect: function (selectFiles, allFiles) {
console.info("当前选择了以下文件:");
console.info(selectFiles);
},
onDelete: function (file, files) {
console.info("当前删除了此文件:");
console.info(file.name);
},
onSuccess: function (file, response) {
console.info("此文件上传成功:");
console.info(file.name);
console.info("此文件上传到服务器地址:");
console.info(response);
$("#uploadInf").append("<p>上传成功,文件地址是:" + response + "</p>");
},
onFailure: function (file, response) {
console.info("此文件上传失败:");
console.info(file.name);
},
onComplete: function (response) {
console.info("文件上传完成");
console.info(response);
}
});
下载地址