springboot文件的上传和访问

发布时间:2021-06-22 16:52:59 作者:chen
来源:亿速云 阅读:131

本篇内容介绍了“springboot文件的上传和访问”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、上传

    public @ResponseBody
    ApiResult<UploadResult> upload(@RequestParam("file") MultipartFile file, @RequestParam(value="appId") String appId, @RequestParam("group") String group, @RequestParam("fileName") String originFileName){
        try {
            String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1).toLowerCase();
            if(!allowUploadSuffixes.contains(suffix)){
                throw new IotBaseException(9999, "不允许上传该文件类型");
            }
            String fileKey = UUID.randomUUID().toString() + "."+suffix;

            FileSystemClient client = FileSystemClient.getClient(group);
            String url = client.upload(fileKey, file.getBytes(), appId);

            UploadFileEntity entity = new UploadFileEntity();
            entity.setAppId(appId);
            entity.setGroupName(group);
            entity.setFileName(originFileName);
            entity.setFileUrl(url);
            entity.setMimeType(file.getContentType());
            entity.setProvider(client.getProvider().name());
            entity.setCreatedAt(new Date());
            uploadFileEntityMapper.insert(entity);

            return new  ApiResult<>(new UploadResult(url, originFileName));
        } catch (Exception e) {
            e.printStackTrace();
            throw new IotBaseException(ExceptionCode.SYSTEM_ERROR.code, "上传失败");
        }
    }

二、访问

spring:
  resources:
    static-location: classpath:/static/upload/

上面这一步好像不填也没关系

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    }
}

“springboot文件的上传和访问”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. Springboot Feign文件上传
  2. SpringBoot文件访问映射如何实现

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springboot

上一篇:PHP中错误处理的原理是什么

下一篇:nginx有哪些常用命令

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》