/**
* 文件上传具体实现方法;
*
* @param file
* @return
*/
@RequestMapping("/upload")
@ResponseBody
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
if (!file.isEmpty()) {
try {
/*
* 这段代码执行完毕之后,图片上传到了工程的跟路径; 大家自己扩散下思维,如果我们想把图片上传到
* d:/files大家是否能实现呢? 等等;
* 这里只是简单一个例子,请自行参考,融入到实际中可能需要大家自己做一些思考,比如: 1、文件路径; 2、文件名;
* 3、文件格式; 4、文件大小的限制;
*/
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(new File(
file.getOriginalFilename())));
System.out.println(file.getName());
out.write(file.getBytes());
out.flush();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
return "上传失败," + e.getMessage();
} catch (IOException e) {
e.printStackTrace();
return "上传失败," + e.getMessage();
}
return "上传成功,我其实是你爸爸";
} else {
return "上传失败,因为文件是空的.";
}
}
前端页面:
<form action="upload" method="POST" enctype="multipart/form-data">
<!--<input type="file" name="file"/>-->
<!--<input type="submit" value="Upload"/>-->
<!--上传用户:<input type="text" name="userName"><br/>-->
<!--上传文件1:<input type="file" name="file1"><br/>-->
<input type="file" name="file"><br/>
<input type="submit" value="提交">
</form>
这次文件上传搞了很多天,我学到的一个很重要的技能就是:
在测试发送请求时,学会在网页上按F12,然后查看发送请求的请求地址、请求头,响应信息等等~~~