SpringBoot实现文件上传/使用实现MultipartFile

(一)单文件文件上传

@RequestMapping(value = "/upload",method = RequestMethod.POST)
@ResponseBody
Map upLoad(@RequestParam("name") String name, @RequestParam("images") MultipartFile images, HttpServletResponse response){
if (!images.isEmpty()){
     String fileName=DateFormat.getDate();//获取当前时间为文件名
    //String imageName=images.getOriginalFilename();//获取上传文件的文件名,包含扩展名
    //String path="F:/JavaProject/store/src/main/resources/static/images";//文件存放的绝对路径
    //File file1=new File(path,fileName+".jpg");//路径和文件名
    File file2=new File(fileName+".jpg");//图片保存为jpg格式
    try {
        /*方法一:使用流*/
       /* byte[] bytes=images.getBytes();
        BufferedOutputStream outputStream=new BufferedOutputStream(new FileOutputStream(file1));
        outputStream.write(bytes);//写入文件
        outputStream.close();//关闭输出流 
        System.out.println(file);*/
        
        /*方法二:配置文件*/
        //前提是在application.properties文件中配置了文件保存的路径
        //#默认上传文件存储位置
        //spring.servlet.multipart.location=F:/JavaProject/store/src/main/resources/static/images
        images.transferTo(file2);//将上传文件保存到目录文件
    }catch (Exception e){
        e.printStackTrace();
        return ReturnMap.getMap(response.getStatus(),DateFormat.getDate(),"上传失败!");
    }
    return ReturnMap.getMap(response.getStatus(),DateFormat.getDate(),"上传成功!");
}
return ReturnMap.getMap(response.getStatus(),DateFormat.getDate(),"文件不存在!");
}
*注意: ReturnMap.getMap() 封装返回数据的方法
       DateFormat.getDate() 封装时间类型的方法

(二)多文件上传:和单文件上传原理一样,改变为数组形式就可以了

@RequestMapping(value = "/uploads",method = RequestMethod.POST)
@ResponseBody
Map upLoads(@RequestParam("images") MultipartFile[] images,HttpServletResponse response 
if (images.length>0){
    try {
        for (int i=0;i

}

补充:网页简单代码(这里只是为简单的测试,写得很简单)SpringBoot实现文件上传/使用实现MultipartFile_第1张图片

你可能感兴趣的:(Spring系列,spring,boot文件上传,spring,boot)