SpringMVC文件上传的大致代码

需提前导好包

写一个简单的提交页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" content="text/html;charset=utf-8">
    <title>Title</title>
</head>
<body>

<form action="/file/upload" method="post" enctype="multipart/form-data">
<input name="file" type="file"/>
    <button type="submit">tijiao</button>
</form>

</body>
</html>

接着是java代码

package cn.itsource.uploadfile;

import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;

@Controller
@RequestMapping("/file")//暴露一个路径给网页访问
public class UploadFile {
//这里同样是暴露一个路径
    @RequestMapping("/upload")
    @ResponseBody
    public void _01(MultipartFile file, HttpServletRequest request) throws IOException {
        //把文件转换为输入流
        InputStream inputStream = file.getInputStream();
        //随机生产一个名字
        long l = System.currentTimeMillis();
        String originalFilename = file.getOriginalFilename();
        String extension = FilenameUtils.getExtension(originalFilename);
        String filename = l+"."+extension;
        
        //动态获取项目路径
        String realPath = request.getServletContext().getRealPath("/upload");
        
        //把路径和文件名字转换成输出流
        FileOutputStream fileOutputStream = new FileOutputStream(realPath+"/"+filename);


        //文件上传核心方法
        IOUtils.copy(inputStream,fileOutputStream);

//关流
        fileOutputStream.close();
        fileOutputStream.close();

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值