SpringBoot精通之路-低调小熊猫

SpringBoot(七):文件上传

2018-11-13  本文已影响4人  低调小熊猫

版权声明

本作品采用<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">知识共享署名 4.0 国际许可协议</a>进行许可。
本文作者:低调小熊猫
文章链接:https://aodeng.cc/archives/springbootqi
转载声明:自由转载-非商用-非衍生-保持署名,非商业转载请注明作者及出处,商业转载请联系作者本人qq:2696284032

单纯的广告

个人博客:https://aodeng.cc
微信公众号:低调小熊猫
qq交流群:756796932

单一文件上传

@PostMapping("uploadOne")
    public String uploadOne(@RequestParam("file") MultipartFile file, RedirectAttributes redirectAttributes){
        if(file.isEmpty()){
            redirectAttributes.addFlashAttribute("message","请选择上传文件");
            return "redirect:uploadShow";
        }
        try {
            //获取文件并保存
            byte[] bytes = file.getBytes();
            Path path= Paths.get(UPLOADED_FOLDER+file.getOriginalFilename());
            Files.write(path,bytes);
            redirectAttributes.addFlashAttribute("message",file.getOriginalFilename()+"文件上传完成");
        }catch (IOException e){
            e.printStackTrace();
        }
        return "redirect:uploadShow";
    }

Base64文件上传

可以去这个网站将图片加密成Base64码
http://base64.xpcha.com/pic.html

@PostMapping("/uploadBase")
    @ResponseBody
    public void upload2(String base64) throws IOException {
        // TODO BASE64 方式的 格式和名字需要自己控制(如 png 图片编码后前缀就会是 data:image/png;base64,)
        final File tempFile = new File("c:\\temp\\test.jpg");//上传文件保存的路径
        // TODO 防止有的传了 data:image/png;base64, 有的没传的情况
        String[] d = base64.split("base64,");
        final byte[] bytes = Base64Utils.decodeFromString(d.length > 1 ? d[1] : d[0]);
        FileCopyUtils.copy(bytes, tempFile);
    }

源码地址

https://github.com/java-aodeng/hope

上一篇下一篇

猜你喜欢

热点阅读