MVC文件上传的实现

虽然MVC上传文件是一个简单的操作,但作为小白的我还是走了不少弯路,今天得到一位大神指导,明白了大致的一个过程。

首先,写上带文件选择input的表单,注意表单中需要加一项enctype=“multipart/form-data”,表示提交的表单数据中带有多种类型的数据,如文件

<form enctype="multipart/form-data" class="am-form tpl-form-line-form" action="add_product_submit" method="post">
	<input type="file" name="photo_file">
</form>

然后就是Controller类了

@RequestMapping(value = "/add_product_submit")
    public String addProduct(@RequestParam("photo_file") CommonsMultipartFile photo_file) throws IOException {
    
        String path = photo_file.getOriginalFilename();// 获取上传的文件名
        System.out.println("路径:" + path);
        String dir = getClass().getResource("/").getPath();// 获取class文件路径/D:/Profession/ssmStructure/CurriculumDesign/FlowerPet/target/flowerpet/WEB-INF/classes/
        System.out.println("dir:" + dir);
        dir = dir.substring(0, dir.indexOf("WEB-INF"));// 获取资源文件路径/D:/Profession/ssmStructure/CurriculumDesign/FlowerPet/target/flowerpet/
        System.out.println("dir:" + dir);

        File newFile = new File(dir + "Images/" + path);// 创建一个文件对象,指定文件保存在哪里(完整路径)

        if (!newFile.exists()) {
            newFile.mkdirs();
        }
        photo_file.transferTo(newFile);// 转化,即上传到指定服务器指定目录

        return "*******";
}

然后就可以了,这么看来确实挺简单的哈

发布了19 篇原创文章 · 获赞 5 · 访问量 4198

猜你喜欢

转载自blog.csdn.net/qq_41409120/article/details/89893319