目录
1.本地上传
1.1.1上传的必要条件
1.表单中。
2.表单的提交方式method必须是post.
3.表单上传的编码必须是二进制。enctype="multipart/form-data"
4.input的类型必须file类型。而且该输入框必须有name属性。
1.1.2 文件上传
准备工作:1.创建一个maven下的web项目
2.配置springmvc的配置文件
3.创建一个实体类对象
@Data
public class User {
private String name;
private String password;
private String headImg;
}
4.引入jQuery文件
1.2.1 普通本地上传
第一步,创建一个登录表单界面
<form method="post" action="${pageContext.request.contextPath}/upload"enctype="multipart/form-data">
头像:<input type="file" name="myfile"/><br>
姓名:<input type="text" name="name"/><br>
密码:<input type="password" name="password"/><br>
<input type="submit" value="提交">
</form>
第二步,创建一个controller层并运行测试
@Controller
public class UploadController {
@RequestMapping("/upload")
//SpringMVC把上传的文件封装到multipartfile类中,调用时候名字和表单中的name保持一致
public String upload(MultipartFile myfile, HttpServletRequest request, User user){
HttpSession session = request.getSession();
ServletContext servletContext = session.getServletContext();
String path = servletContext.getRealPath("/upload");//获取工程下upload文件夹的真实路径,自己定义
File file = new File(path);
if (!file.exists()){//表示指定的文件路径不存在
file.mkdir();// 创建改文件
}
// 获取上传的文件名
String filename = myfile.getOriginalFilename();
filename=new Date().getTime()+filename;
//把上传的文件保存到目标目录
File file1 = new File(path + "/" + filename);
try {
myfile.transferTo(file1);
} catch (IOException e) {
e.printStackTrace();
}
String headImg="http: