栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

个人笔记(文件上传功能)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

个人笔记(文件上传功能)

1. maven:
        
        
            commons-fileupload
            commons-fileupload
            1.4
        
2. applicationcontext.xml:
    
    
    
        
    

3. controller案例:

package com.imooc.reader.controller.management;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@Controller
@RequestMapping("/management/book")  //该类中url必须以/management/book
public class MBookController {
    @GetMapping("/index.html")
    public ModelAndView showBook() {
        return new ModelAndView("/management/book");
    }


    @PostMapping("/upload")
    @ResponseBody
    
    public Map upload(@RequestParam("img") MultipartFile file, HttpServletRequest request) throws IOException {
        //得到上传目录
        //getServletContext() 由于程序运行时,程序处于执行状态,所以获取的是项目的 out目录的路径;
        //getPath() 获取根路径
        String uploadPath = request.getServletContext().getResource("/").getPath() + "/upload/";
        //uploadPath这个路径中,有文件名idea file,这个文件名有空格,会被自动识别为%20,造成文件上传路径的错误,用以下方法把%20替代为空格即可解决问题
        uploadPath=uploadPath.replaceAll("%20"," ");
        System.out.println(uploadPath);
        //格式化日期,作为文件名
        String fileName = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
        //getOriginalFilename:获得原始文件名字;
        //substring:对元素文件名进行截取
        //lastIndexOf最后一次出现“.”的位置
        //以下第一句是获取原始文件的扩展名;
        String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
        //保存文件到upload目录
        file.transferTo(new File(uploadPath + fileName + suffix));
        Map result = new HashMap();
        result.put("errno", 0);
        //创建Strign[]数组
        result.put("data", new String[]{"/upload/" + fileName + suffix});
        return result;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号