Skip to content

anniweiya/fastdfs-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastDFS连接池

使用common-pool2
直持spring
通过nginx进行http访问
支持防盗链

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="fastDFSFactory" class="com.anniweiya.fastdfs.FastDFSTemplateFactory" init-method="init">
    <!--连接超时的时限,单位为秒-->
    <property name="g_connect_timeout" value="60"/>
    <!--网络超时的时限,单位为秒-->
    <property name="g_network_timeout" value="80"/>
    <!--防盗链配置-->
    <property name="g_anti_steal_token" value="true"/>
    <property name="g_secret_key" value="FastDFS1234567890"/>
    <property name="poolConfig">
      <bean class="com.anniweiya.fastdfs.pool.PoolConfig">
        <!--池的大小-->
        <property name="maxTotal" value="100"/>
        <!--连接池中最大空闲的连接数-->
        <property name="maxIdle" value="10"/>
      </bean>
    </property>
    <!--tracker的配置 ","逗号分隔-->
    <property name="tracker_servers" value="127.0.0.1:22122"/>
    <!--HTTP访问服务的端口号-->
    <property name="g_tracker_http_port" value="8080"/>
    <!--nginx的对外访问地址,如果没有端口号,将取g_tracker_http_port配置的端口号 ","逗号分隔-->
    <property name="nginx_address" value="127.0.0.1:8080"/>
  </bean>

  <!--注入模板类-->
  <bean id="fastDFSTemplate" class="com.anniweiya.fastdfs.FastDFSTemplate">
    <constructor-arg ref="fastDFSFactory"/>
  </bean>

</beans>

spring boot

## application.yml

fastdfs:
  g_connect_timeout: 60
  g_network_timeout: 80
  g_anti_steal_token: false
  poolConfig:
    maxTotal: 100
    maxIdle: 10
  protocol: http://
  tracker_servers: 127.0.0.1:22122
  g_tracker_http_port: 8080
  nginx_address: 127.0.0.1:80
  
  
@Configuration
public class FastDfsConfig {

    public static final String ROOT_CONFIG_PREFIX = "fastdfs";

    @Resource
    private FastDFSTemplateFactory fastDFSFactory;

    @Bean(initMethod = "init")
    @ConfigurationProperties(prefix = ROOT_CONFIG_PREFIX)
    public FastDFSTemplateFactory fastDFSFactory() {
        return new FastDFSTemplateFactory();
    }

    @Bean
    public FastDFSTemplate fastDFSTemplate() {
        return new FastDFSTemplate(fastDFSFactory);
    }

}

如需要缩略图大小 可以参考nginx配置image_filter

       location ~/group1/M00 {
            alias /fastdfs/storage/data;
            ngx_fastdfs_module;
			set $flag '';
			if ($args ~* "width=([1-9]\d*)") {
                                set $width $1;
				set $flag "${flag}A";
			}
			if ($args ~* "height=([1-9]\d*)") {
                                set $height $1;
				set $flag "${flag}B";
			}
			if ($flag != AB){
				set $height 9999;
				set $width 9999;
			}
			image_filter resize $width $height; 
        }

然后在前端控制请求参数http://localhost/xxx.png?&width=100&height=100

About

fastdfs连接池,支持spring,防盗链

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages