简易java文件上传功能

废话不多说直接上代码,我是在springboot项目上使用的,后来的使用者要甄别,以免出现失误。

前端部分:

<form class="form col-md-6 col-md-offset-3" enctype="multipart/form-data" action="upload-music" method="post">
<div class="form-group">
<label for="path">上传文件:</label><input type="file" name="path" id="path" class="form-control"/>
</div>
<div class="form-group">
<button class="btn btn-primary col-md-offset-5 publish" type="submit">上传</button>
</div>
</form>

java后台部分:

@RequestMapping(value = "/upload-music",method = RequestMethod.POST)
    @ResponseBody
    public String uploadMusic(@RequestParam("path") MultipartFile path) throws FileNotFoundException {
//        request.setCharacterEncoding("UTF-8");
//        response.setCharacterEncoding("UTF-8");

        if (path.isEmpty()) {
            return "上传失败,请选择文件";
        }
        String fileName = path.getOriginalFilename();
        String filePath = ResourceUtils.getURL("classpath:").getPath()+"static/upload/";
        File dest = new File(filePath + fileName);
        try {
            path.transferTo(dest);
//            LOGGER.info("上传成功");
            return "上传成功";
        } catch (IOException e) {
//            LOGGER.error(e.toString(), e);
        }
        return "上传失败!";
//        return path.getName();
    }

要点总结:

1、务必使用 MultipartFile 来读取表单文件;

2、不要忘记在头部设置 method = RequestMethod.POST ,否则会被当做GET的传输方式来处理;

3、这段代码没有使用apache的FileUpload插件,上传文件的功能使用的是springframework自带的功能,没有其他各种乱七八糟的东西,可以放心直接复制使用;

4、ResourceUtils.getURL("classpath:").getPath() 是项目发布目录(即项目中的/target/classes目录),作为文件保存目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值