springboot中实现文件上传的具体步骤

本文介绍了在SpringBoot项目中实现文件上传的详细过程,包括Shiro权限管理配置,设置文件上传拦截器,以及文件管理配置类的编写,如添加资源处理器映射文件路径。此外,还涉及到文件上传的业务代码实现,包括Service接口、通用实现类以及Mapper的操作,确保文件URL能够保存至数据库并能进行文件删除操作。
摘要由CSDN通过智能技术生成

首先是shiro权限管理,要配置文件上传拦截器
//upload文件上传
filterRuleMap.put("/upload/**", “anon”);

@Configuration
public class ShiroConfig {
   

    @Autowired
    private RedisUtil redisUtil;

    /**
     * 先走 filter
     *
     * @param securityManager the security manager
     * @return the shiro filter factory bean
     */
    @Bean
    public ShiroFilterFactoryBean factory(SecurityManager securityManager) {
   
        ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();
        factoryBean.setSecurityManager(securityManager);
        Map<String, Filter> filterMap = new HashMap<>();
        //设置自定义的JWT过滤器
        filterMap.put("jwt", new JWTFilter(redisUtil));
        factoryBean.setFilters(filterMap);
        Map<String, String> filterRuleMap = new HashMap<>(2);
        filterRuleMap.put("/auth/**", "anon");
        filterRuleMap.put("/auth/authorization", "anon");
        filterRuleMap.put("/auth/authentication", "anon");
        filterRuleMap.put("/goods/**", "anon");
        //upload文件上传
        filterRuleMap.put("/upload/**", "anon");
//        filterRuleMap.put("/**", "jwt");
        filterRuleMap.put("/**", "anon");
        factoryBean.setFilterChainDefinitionMap(filterRuleMap);
        return factoryBean;
    }

    /**
     * 注入 securityManager
     *
     * @return the security manager
     */
    @Bean
    public SecurityManager securityManager() {
   
        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
        // 设置自定义 realm.
        securityManager.setRealm(customRealm());
        /*
         * 关闭shiro自带的session,详情见文档
         * http://shiro.apache.org/session-management.html#SessionManagement-StatelessApplications%28Sessionless%29
         */
        DefaultSubjectDAO subjectDAO = new DefaultSubjectDAO();
        DefaultSessionStorageEvaluator defaultSessionStorageEvaluator = new DefaultSessionStorageEvaluator();
        defaultSessionStorageEvaluator.setSessionStorageEnabled(false);
        subjectDAO.set
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值