一SpringBOOT
1配置文件application.properties
#配置单文件上传最大值
spring. servlet. multipart. max- file- size= 66 MB
#配置多文件请求上传最大值
spring. servlet. multipart. max- request- size= 666 MB
2dao层
package baobaobaobao. dao;
import baobaobaobao. entity. FilePath;
import java. util. List;
public interface FilePathMapper {
int picture ( FilePath filePath) ;
List< String > path ( ) ;
}
3service层
package baobaobaobao. service;
import baobaobaobao. entity. FilePath;
import java. util. List;
public interface FilePathServiceFace {
int picture ( FilePath filePath) ;
List< String> path ( ) ;
}
package baobaobaobao. service;
import baobaobaobao. dao. FilePathMapper;
import baobaobaobao. entity. FilePath;
import org. springframework. beans. factory. annotation. Autowired;
import org. springframework. stereotype. Service;
import java. util. List;
@Service
public class FilePathService implements FilePathServiceFace {
@Autowired
public FilePathMapper filePathMapper;
public FilePathMapper getFilePathMapper ( ) {
return filePathMapper;
}
public void setFilePathMapper ( FilePathMapper filePathMapper) {
this . filePathMapper = filePathMapper;
}
@Override
public int picture ( FilePath filePath) {
int picture = filePathMapper. picture ( filePath) ;
return picture;
}
@Override
public List< String> path ( ) {
List< String> path = filePathMapper. path ( ) ;
return path;
}
}
4 tool层实现邮件功能并且实现service层
package baobaobaobao. tool;
import baobaobaobao. entity. FilePath;
import baobaobaobao. service. FilePathServiceFace;
import org. springframework. beans. factory. annotation. Autowired;
import org. springframework. stereotype. Component;
import javax. mail. *;
import javax. mail. internet. InternetAddress;
import javax. mail. internet. MimeMessage;
import java. util. Properties;
@Component
public class Jmail {
@Autowired
public FilePathServiceFace filePathService;
public FilePathServiceFace getFilePathService ( ) {
return filePathService;
}
public void setFilePathService ( FilePathServiceFace filePathService) {
this . filePathService = filePathService;
}
public void picture ( FilePath filePath) {
filePathService. picture ( filePath) ;
}
public void mail ( ) throws MessagingException {
Properties prop = new Properties ( ) ;
prop. setProperty ( "mail.host" , "smtp.qq.cm" ) ;
prop. setProperty ( "mail.transport.protocol" , "smtp" ) ;
prop. setProperty ( "mail.smtp.auth" , "true" ) ;
prop. setProperty ( "mail.smtp.ssl.enable" , "true" ) ;
prop. setProperty ( "mail.smtp.port" , "465" ) ;
Session session = Session. getDefaultInstance ( prop, new Authenticator ( ) {
@Override
public javax. mail. PasswordAuthentication getPasswordAuthentication ( ) {
return new PasswordAuthentication ( "[email protected] " , "huzqsmnaksiiheii" ) ;
}
} ) ;
Transport ts = session. getTransport ( ) ;
ts. connect ( "smtp.qq.com" , "[email protected] " , "huzqsmnaksiiheii" ) ;
MimeMessage message = new MimeMessage ( session) ;
message. setFrom ( new InternetAddress ( "[email protected] " ) ) ;
message. setRecipient ( Message. RecipientType. TO, new InternetAddress ( "[email protected] " ) ) ;
message. setSubject ( "今日打卡" ) ;
message. setContent ( "亲爱的猪猪,今日打卡完成,明天继续加油哦!" , "text/html;charset=UTF-8" ) ;
ts. sendMessage ( message, message. getAllRecipients ( ) ) ;
System. out. println ( "发送邮件成功" ) ;
ts. close ( ) ;
}
}
二单文件上传
1 前端
< % --
Created by IntelliJ IDEA.
User: Administrator
Date: 2020 / 6 / 15
Time: 0 : 14
To change this template use File | Settings | File Templates.
-- % >
< % @ page contentType= "text/html;charset=UTF-8" language= "java" % >
< ! DOCTYPE html>
< html>
< head>
< title> ProCute< / title>
< meta charset= "utf-8" / >
< link rel= "stylesheet" href= "css/style.css" / >
< meta http- equiv= "Content-Type" content= "text/html; charset=utf-8" / > < / head>
< body>
< script language= 'Javascript' >
< ! --
document. write ( unescape ( '%09%3C%64%69%76%20%69%64%3D%22%77%72%61%70%70%65%72%22%3E%0A%09%09%3C%68%31%3E%43%6F%6D%70%61%6E%79%20%4E%61%6D%65%3C%2F%68%31%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%63%6F%6D%70%61%6E%79%20%2F%20%77%65%62%73%69%74%65%20%6E%61%6D%65%20%2D%2D%3E%0A%09%09%3C%64%69%76%20%69%64%3D%22%66%6F%6C%6C%6F%77%22%3E%0A%09%09%09%3C%21%2D%2D%3C%73%70%61%6E%3E%46%6F%6C%6C%6F%77%20%75%73%3C%2F%73%70%61%6E%3E%2D%2D%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%66%61%63%65%62%6F%6F%6B%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%46%61%63%65%62%6F%6F%6B%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%66%62%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%74%77%69%74%74%65%72%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%54%77%69%74%74%65%72%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%74%77%69%74%74%65%72%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%70%6C%75%73%2E%67%6F%6F%67%6C%65%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%47%6F%6F%67%6C%65%20%50%6C%75%73%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%67%70%6C%75%73%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%6C%69%6E%6B%65%64%69%6E%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%4C%69%6E%6B%65%64%69%6E%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%6C%69%6E%6B%65%64%69%6E%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%64%72%69%62%62%62%6C%65%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%44%72%69%62%62%62%6C%65%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%64%72%69%62%62%62%6C%65%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%3C%2F%64%69%76%3E%3C%21%2D%2D%20%65%6E%64%20%66%6F%6C%6C%6F%77%20%2D%2D%3E%0A%09%09%3C%64%69%76%20%69%64%3D%22%6F%70%70%73%22%3E%4F%70%70%73%21%20%54%68%69%73%20%73%69%74%65%20%69%73%20%63%75%72%72%65%6E%74%6C%79%20%75%6E%64%65%72%20%63%6F%6E%73%74%72%75%63%74%69%6F%6E%2E%3C%2F%64%69%76%3E%0A%09%09%3C%64%69%76%20%69%64%3D%22%62%6F%74%74%6F%6D%22%3E%0A%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%6C%65%66%74%22%3E%0A%09%09%09%09%3C%68%32%3E%45%73%74%69%6D%61%74%65%64%20%74%69%6D%65%20%62%65%66%6F%72%65%20%6C%61%75%6E%63%68%3C%2F%68%32%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%63%6F%75%6E%74%64%6F%77%6E%22%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%64%61%79%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%44%61%79%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%68%6F%75%72%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%48%6F%75%72%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%6D%69%6E%75%74%65%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%4D%69%6E%75%74%65%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%73%65%63%6F%6E%64%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%53%65%63%6F%6E%64%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%3C%2F%64%69%76%3E%3C%21%2D%2D%20%65%6E%64%20%63%6F%75%6E%74%64%6F%77%6E%20%2D%2D%3E%0A%09%09%09%3C%2F%64%69%76%3E%3C%21%2D%2D%20%65%6E%64%20%6C%65%66%74%20%2D%2D%3E' ) ) ;
< / script>
< div>
< h2> 每日打卡< / h2>
< form action= "${pageContext.request.contextPath}/fileup" enctype= "multipart/form-data" method= "post" / >
< fieldset>
< input type= "file" name= "file" multiple= "multiple" / >
< button type= "submit" name= "submit" > Submit< / button>
< / fieldset>
< / form>
< div id= "message" >
< / div> < ! -- end message -- >
< / div> < ! -- end right -- >
< script src= "http://code.jquery.com/jquery-1.7.2.min.js" > < / script>
< script src= "js/countdown.jquery.js" > < / script>
< script language= 'Javascript' >
< ! --
document. write ( unescape ( '%09%3C%73%63%72%69%70%74%3E%0A%09%09%24%28%66%75%6E%63%74%69%6F%6E%28%29%20%7B%0A%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%27%29%2E%63%6F%75%6E%74%64%6F%77%6E%28%7B%64%61%74%65%3A%20%27%32%35%20%44%65%63%65%6D%62%65%72%20%32%30%31%38%20%30%30%3A%30%30%3A%30%30%27%7D%2F%2A%2A%2A%20%53%65%74%20%77%65%62%73%69%74%65%20%6C%61%75%6E%63%68%20%64%61%74%65%20%61%6E%64%20%74%69%6D%65%20%2A%2A%2A%2F%2C%20%66%75%6E%63%74%69%6F%6E%28%29%7B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%64%61%79%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%68%6F%75%72%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%6D%69%6E%75%74%65%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%73%65%63%6F%6E%64%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%7D%29%3B%0A%09%09%09%24%28%22%66%6F%72%6D%20%69%6E%70%75%74%22%29%2E%66%6F%63%75%73%28%66%75%6E%63%74%69%6F%6E%28%29%7B%0A%09%09%09%09%24%28%74%68%69%73%29%2E%63%73%73%28%22%62%61%63%6B%67%72%6F%75%6E%64%22%2C%20%22%23%62%34%64%63%62%61%22%29%3B%0A%09%09%09%7D%29%3B%0A%09%09%09%24%28%22%66%6F%72%6D%20%69%6E%70%75%74%22%29%2E%62%6C%75%72%28%66%75%6E%63%74%69%6F%6E%28%29%7B%0A%09%09%09%09%69%66%20%28%21%28%24%28%74%68%69%73%29%2E%76%61%6C%28%29%29%29%7B%0A%09%09%09%09%09%24%28%74%68%69%73%29%2E%63%73%73%28%22%62%61%63%6B%67%72%6F%75%6E%64%22%2C%20%22%75%72%6C%28%69%6D%61%67%65%73%2F%70%6C%61%63%65%68%6F%6C%64%65%72%2E%70%6E%67%29%20%6E%6F%2D%72%65%70%65%61%74%20%63%65%6E%74%65%72%20%23%62%34%64%63%62%61%22%29%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%29%3B%0A%09%09%7D%29%3B%0A%09%3C%2F%73%63%72%69%70%74%3E' ) ) ;
< / script>
< / body>
< / html>
2 后端
package baobaobaobao. controller;
import baobaobaobao. entity. FilePath;
import baobaobaobao. tool. Jmail;
import org. apache. catalina. servlet4preview. http. HttpServletRequest;
import org. springframework. beans. factory. annotation. Autowired;
import org. springframework. stereotype. Controller;
import org. springframework. ui. Model;
import org. springframework. web. bind. annotation. GetMapping;
import org. springframework. web. bind. annotation. PostMapping;
import org. springframework. web. bind. annotation. RequestParam;
import org. springframework. web. multipart. MultipartFile;
import javax. mail. MessagingException;
import java. io. File;
import java. io. IOException;
import java. util. Date;
@Controller
public class FileController {
@Autowired
public Jmail jmail;
public Jmail getJmail ( ) {
return jmail;
}
public void setJmail ( Jmail jmail) {
this . jmail = jmail;
}
@GetMapping ( value = "/file" )
public String file ( ) {
return "WEB-INF/fileup" ;
}
@PostMapping ( value = "/fileup" )
public String fileUpload ( @RequestParam ( value = "file" ) MultipartFile file, Model model, HttpServletRequest request) throws MessagingException {
if ( file. isEmpty ( ) ) {
System. out. println ( "文件为空空" ) ;
}
String fileName = file. getOriginalFilename ( ) ;
System. out. println ( fileName) ;
String suffixName = fileName. substring ( fileName. lastIndexOf ( "." ) ) ;
System. out. println ( suffixName) ;
String filePath= "/root/picture/" ;
String name = new Date ( ) . toString ( ) . substring ( 0 , 11 ) + suffixName;
System. out. println ( ) ;
File dest = new File ( filePath+ name) ;
if ( ! dest. getParentFile ( ) . exists ( ) ) {
dest. getParentFile ( ) . mkdirs ( ) ;
}
try {
file. transferTo ( dest) ;
} catch ( IOException e) {
e. printStackTrace ( ) ;
}
FilePath p = new FilePath ( fileName, new Date ( ) . toString ( ) ) ;
jmail. picture ( p) ;
model. addAttribute ( "filename" , fileName) ;
jmail. mail ( ) ;
System. out. println ( "邮件发送成功" ) ;
return "WEB-INF/email" ;
} }
三多文件上传
1前端
< % --
Created by IntelliJ IDEA.
User: Administrator
Date: 2020 / 6 / 15
Time: 0 : 14
To change this template use File | Settings | File Templates.
-- % >
< % @ page contentType= "text/html;charset=UTF-8" language= "java" % >
< ! DOCTYPE html>
< html>
< head>
< title> ProCute< / title>
< meta charset= "utf-8" / >
< link rel= "stylesheet" href= "css/style.css" / >
< meta http- equiv= "Content-Type" content= "text/html; charset=utf-8" / > < / head>
< body>
< script language= 'Javascript' >
< ! --
document. write ( unescape ( '%09%3C%64%69%76%20%69%64%3D%22%77%72%61%70%70%65%72%22%3E%0A%09%09%3C%68%31%3E%43%6F%6D%70%61%6E%79%20%4E%61%6D%65%3C%2F%68%31%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%63%6F%6D%70%61%6E%79%20%2F%20%77%65%62%73%69%74%65%20%6E%61%6D%65%20%2D%2D%3E%0A%09%09%3C%64%69%76%20%69%64%3D%22%66%6F%6C%6C%6F%77%22%3E%0A%09%09%09%3C%21%2D%2D%3C%73%70%61%6E%3E%46%6F%6C%6C%6F%77%20%75%73%3C%2F%73%70%61%6E%3E%2D%2D%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%66%61%63%65%62%6F%6F%6B%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%46%61%63%65%62%6F%6F%6B%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%66%62%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%74%77%69%74%74%65%72%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%54%77%69%74%74%65%72%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%74%77%69%74%74%65%72%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%70%6C%75%73%2E%67%6F%6F%67%6C%65%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%47%6F%6F%67%6C%65%20%50%6C%75%73%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%67%70%6C%75%73%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%6C%69%6E%6B%65%64%69%6E%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%4C%69%6E%6B%65%64%69%6E%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%6C%69%6E%6B%65%64%69%6E%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%64%72%69%62%62%62%6C%65%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%44%72%69%62%62%62%6C%65%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%64%72%69%62%62%62%6C%65%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%3C%2F%64%69%76%3E%3C%21%2D%2D%20%65%6E%64%20%66%6F%6C%6C%6F%77%20%2D%2D%3E%0A%09%09%3C%64%69%76%20%69%64%3D%22%6F%70%70%73%22%3E%4F%70%70%73%21%20%54%68%69%73%20%73%69%74%65%20%69%73%20%63%75%72%72%65%6E%74%6C%79%20%75%6E%64%65%72%20%63%6F%6E%73%74%72%75%63%74%69%6F%6E%2E%3C%2F%64%69%76%3E%0A%09%09%3C%64%69%76%20%69%64%3D%22%62%6F%74%74%6F%6D%22%3E%0A%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%6C%65%66%74%22%3E%0A%09%09%09%09%3C%68%32%3E%45%73%74%69%6D%61%74%65%64%20%74%69%6D%65%20%62%65%66%6F%72%65%20%6C%61%75%6E%63%68%3C%2F%68%32%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%63%6F%75%6E%74%64%6F%77%6E%22%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%64%61%79%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%44%61%79%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%68%6F%75%72%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%48%6F%75%72%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%6D%69%6E%75%74%65%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%4D%69%6E%75%74%65%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%73%65%63%6F%6E%64%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%53%65%63%6F%6E%64%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%3C%2F%64%69%76%3E%3C%21%2D%2D%20%65%6E%64%20%63%6F%75%6E%74%64%6F%77%6E%20%2D%2D%3E%0A%09%09%09%3C%2F%64%69%76%3E%3C%21%2D%2D%20%65%6E%64%20%6C%65%66%74%20%2D%2D%3E' ) ) ;
< / script>
< div>
< h2> 每日打卡( 一: 单词, 二: 短文) < / h2>
< form action= "${pageContext.request.contextPath}/Manyfileup" enctype= "multipart/form-data" method= "post" / >
< fieldset>
< input type= "file" name= "files" multiple= "multiple" / >
< % -- < input type= "file" name= "files" multiple= "multiple" / > -- % >
< button type= "submit" name= "submit" > Submit< / button>
< / fieldset>
< / form>
< div id= "message" >
< / div> < ! -- end message -- >
< / div> < ! -- end right -- >
< script src= "http://code.jquery.com/jquery-1.7.2.min.js" > < / script>
< script src= "js/countdown.jquery.js" > < / script>
< script language= 'Javascript' >
< ! --
document. write ( unescape ( '%09%3C%73%63%72%69%70%74%3E%0A%09%09%24%28%66%75%6E%63%74%69%6F%6E%28%29%20%7B%0A%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%27%29%2E%63%6F%75%6E%74%64%6F%77%6E%28%7B%64%61%74%65%3A%20%27%32%35%20%44%65%63%65%6D%62%65%72%20%32%30%31%38%20%30%30%3A%30%30%3A%30%30%27%7D%2F%2A%2A%2A%20%53%65%74%20%77%65%62%73%69%74%65%20%6C%61%75%6E%63%68%20%64%61%74%65%20%61%6E%64%20%74%69%6D%65%20%2A%2A%2A%2F%2C%20%66%75%6E%63%74%69%6F%6E%28%29%7B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%64%61%79%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%68%6F%75%72%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%6D%69%6E%75%74%65%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%73%65%63%6F%6E%64%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%7D%29%3B%0A%09%09%09%24%28%22%66%6F%72%6D%20%69%6E%70%75%74%22%29%2E%66%6F%63%75%73%28%66%75%6E%63%74%69%6F%6E%28%29%7B%0A%09%09%09%09%24%28%74%68%69%73%29%2E%63%73%73%28%22%62%61%63%6B%67%72%6F%75%6E%64%22%2C%20%22%23%62%34%64%63%62%61%22%29%3B%0A%09%09%09%7D%29%3B%0A%09%09%09%24%28%22%66%6F%72%6D%20%69%6E%70%75%74%22%29%2E%62%6C%75%72%28%66%75%6E%63%74%69%6F%6E%28%29%7B%0A%09%09%09%09%69%66%20%28%21%28%24%28%74%68%69%73%29%2E%76%61%6C%28%29%29%29%7B%0A%09%09%09%09%09%24%28%74%68%69%73%29%2E%63%73%73%28%22%62%61%63%6B%67%72%6F%75%6E%64%22%2C%20%22%75%72%6C%28%69%6D%61%67%65%73%2F%70%6C%61%63%65%68%6F%6C%64%65%72%2E%70%6E%67%29%20%6E%6F%2D%72%65%70%65%61%74%20%63%65%6E%74%65%72%20%23%62%34%64%63%62%61%22%29%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%29%3B%0A%09%09%7D%29%3B%0A%09%3C%2F%73%63%72%69%70%74%3E' ) ) ;
< / script>
< / body>
< / html>
2后端
package baobaobaobao. controller;
import baobaobaobao. entity. FilePath;
import baobaobaobao. tool. Jmail;
import org. springframework. beans. factory. annotation. Autowired;
import org. springframework. stereotype. Controller;
import org. springframework. web. bind. annotation. PostMapping;
import org. springframework. web. bind. annotation. RequestParam;
import org. springframework. web. multipart. MultipartFile;
import javax. mail. MessagingException;
import java. io. File;
import java. io. IOException;
import java. util. Date;
@Controller
public class ManyFileController {
@Autowired
public Jmail jmail;
public Jmail getJmail ( ) {
return jmail;
}
public void setJmail ( Jmail jmail) {
this . jmail = jmail;
}
@PostMapping ( value = "/Manyfileup" )
public String fileUpload ( @RequestParam ( value = "files" ) MultipartFile files[ ] ) throws MessagingException {
if ( files== null|| files. length== 0 ) {
System. out. println ( "文件为空空" ) ;
} else {
for ( int i= 0 ; i< files. length; i++ ) {
MultipartFile file= files[ i] ;
String fileName = file. getOriginalFilename ( ) ;
String suffixName = ( i+ 1 ) + fileName. substring ( fileName. lastIndexOf ( "." ) ) ;
String filePath = "/root/picture/" ;
String datestring= new Date ( ) . toString ( ) ;
String name = datestring. substring ( 0 , 11 ) + suffixName;
String pathname= filePath + name;
System. out. println ( pathname) ;
File dest = new File ( pathname) ;
if ( ! dest. getParentFile ( ) . exists ( ) ) {
dest. getParentFile ( ) . mkdirs ( ) ;
}
try {
file. transferTo ( dest) ;
} catch ( IOException e) {
e. printStackTrace ( ) ;
}
FilePath p = new FilePath ( pathname, datestring) ;
System. out. println ( p) ;
jmail. picture ( p) ;
System. out. println ( "多文件上传成功" ) ;
}
}
jmail. mail ( ) ;
System. out. println ( "邮件发送成功" ) ;
return "WEB-INF/email" ;
}
}