Web前端(十三)-文件上传、微博练习

文件上传

1.在form表单中需要设置编码类型

 <!--设置编码类型:多部分数据,表单中包含文件数据和控件数据-->
 <form action="#" enctype="multipart/form-data">
     <input type="file" name="file">
     <input type="button" value="开始上传" @click="send()">
 </form>

2.必须使用post请求处理上传

 //得到表单中的数据
 let data = new FormData(document.querySelector("form"));
 axios.post("/send",data).then(function (response) {
     alert("上传完成!");
 }).catch(function (err) {
     alert(err);
 })

3.java相关代码

 //file代表上传的文件对象
 //得到上传的文件名
 String fileName = file.getOriginalFilename();
 System.out.println("文件名:"+fileName);
 //得到文件的后缀名 从最后一个.出现的位置 截取到最后
 String suffix = fileName.substring(fileName.lastIndexOf("."));
 //得到唯一的文件名 UUID.randomUUID()得到一个唯一标识符
 fileName = UUID.randomUUID()+suffix;
 System.out.println(fileName);
 //准备磁盘文件夹路径
 String dirPath = "E:/upload";
 File dirFile = new File(dirPath);
 //判断如果文件夹不存在 创建
 if (!dirFile.exists()){
     dirFile.mkdirs();//创建文件夹
 }
 //把上传的文件保存到这个路径下 异常抛出
 String filePath = dirPath+"/"+fileName;
 file.transferTo(new File(filePath));
 System.out.println(filePath);

4.保存在磁盘中的图片是不能直接被客户端访问到的, 需要设置保存图片的路径为静态资源路径

 #设置单个文件的大小
 spring.servlet.multipart.max-file-size=10MB
 #设置多个文件上传时总大小
 spring.servlet.multipart.max-request-size=100MB
 #设置保存图片文件夹路径为 静态资源路径 后面必须再设置static文件夹
 #file代表磁盘路径 classpath代表工程根路径
 spring.web.resources.static-locations=file:E:/upload,classpath:static

微博综合练习

 create database weibodb character set utf8;
 use weibodb;
 create table user(id int primary key auto_increment,username varchar(50),password varchar(50),nick varchar(50),url varchar(255))charset=utf8;
 create table weibo(id int primary key auto_increment,content varchar(50),author varchar(50),url varchar(255),created timestamp,userid int)charset=utf8;
  • 创建工程boot5-2 11改8 3个打钩

  • 配置application.properties 把 5-1工程里面所有内容复制过来 , 并且把url中的bootdb改成weibodb

     

session:

Web前端(十三)-文件上传、微博练习

先进入首页点击“登录”(前提是注册、登录已经成功了!) ,确认登录成功后,进入首页点击“发布微博”, 进入发布页面,必须选择图片,点击发布,检查数据库的weibo表是否有以下数据:

Web前端(十三)-文件上传、微博练习

 

任务:

把微博练习5-2 进度赶上之后 , 重新创建一个5-3 从头到尾再实现一遍, 加深影响,没有技术含量的代码可以复制粘贴.

 

Web前端(十三)-文件上传、微博练习

上一篇:互联网通信-02-Http网络协议包


下一篇:Apache 配置与应用(内附DNS脚本)