本工程爲本人開發的開源項目,地址:html
https://gitee.com/475660/xyFS前端
介紹:java
一站式企業私有文件服務。針對軟件開發時提供的文件存儲系統,對文件上傳、下載、分類、分組、審計、統計等操做進行業務剝離,支持企業內多項目,提供統一的oss私有文件服務。
涵蓋了保護企業隱私文件的私有存儲,也可接入公有云存儲方案。開發初衷是應用於xyTalk企業IM即時通信的離線文件存儲、羣文件、圖片、短語音、短視頻、企業文檔庫等應用。
xyTalk地址:https://gitee.com/475660/xyTalk-pc
xyFS不單單是獨立可用的文件系統,還經過接口靈活集成如下服務:mysql
運行時訪問地址:
http://localhost:9091/files/index/git
文件管理: spring
能夠在配置文件application.properties裏修改屬性
例如 tomcat服務端口 server.port=9091
是否從新命名文件名,若是是我的文件則重命名爲:username_ + 原文件名;若是是羣組文件則重命名爲:groupid_ + 原文件名
storage.rename = true
存儲源.可多選.能夠同時儲存多個數據源,便於備份
類型有:xyfs\Seafile\FastDFS\SeaweedFS\MongoDB\aliOSS\qiniu\CFS
設置下載的源 ,單選
類型有:xyfs\Seafile\FastDFS\SeaweedFS\MongoDB\aliOSS\qiniu\CFS
# tomcat服務端口 #
server.port=9091
#啓用shutdown
endpoints.sensitive=false
# 存儲的相對路徑,若是 storage.source = xyfs 須要配置 #
storage.location = uploadfiledir
# 是否從新命名文件名,若是是我的文件則重命名爲:username_ + 原文件名;若是是羣組文件則重命名爲:groupid_ + 原文件名 #
storage.rename = true
# 存儲源.可多選.能夠同時儲存多個數據源,便於備份 #
# 類型有:xyfs\\Seafile\\FastDFS\\SeaweedFS\\MongoDB\\aliOSS\\qiniu\\CFS #
storage.todisk = true
storage.toqiniu = true
storage.tofastdfs = false
storage.tomongodb = false
storage.toseaweedfs = false
storage.toalioss = false
storage.tocfs = false
# 用於設置下載的源 ,單選 #
# 類型有:xyfs\\Seafile\\FastDFS\\SeaweedFS\\MongoDB\\aliOSS\\qiniu\\CFS #
storage.downloadfrom = xyfs
# xyfs存儲配置 #
storage.diskprefix = http://localhost:9091/files/
# 七牛存儲配置 #
storage.qiniuprefix = http://pbby0yzdu.bkt.clouddn.com/
storage.qiniuak = _IAafy8aX5x7h-4FBEvH2DqCtTq2c7sESPSlfG
storage.qiniusk = _8hy2LE6kfTKr3wDUWJONgFRxPKX4cDQhi79Bj
storage.qiniubucket = xytalk
# mongodb.gridfs配置 #
storage.gridfshost = 127.0.0.1
storage.gridfsdbname = xyfs
storage.gridfsport = 27017
storage.gridfscollectionname = fs
# fastDFS 配置 #
storage.fastdfsconnecttimeout = 5
storage.fastdfsnetwork_timeout = 10
storage.fastdfscharset = UTF-8
storage.fastdfstrackerhttpport = 80
storage.fastdfsantistealtoken = no
storage.fastdfssecret_key = 1234567890
storage.fastdfstrackerserver = 192.168.17.112:22122
# SeaweedFS 配置 #
storage.seaweedfshost = localhost
storage.seaweedfsport = 9333
storage.seaweedfstimeout = 10
# ali OSS 配置 #
storage.aliendpoint = ""
storage.aliaccesskeyid = ""
storage.aliaccesskeysecret = ""
storage.alibucketname = ""
storage.alidownloadkey = ""
# 第一次使用的配置:自動建立數據庫表,若是是運行SQL腳本則無需使用此配置 #
# spring.jpa.hibernate.ddl-auto = create
# 第二次開始使用的配置:據庫表會根據Entity的變更而更新 #
spring.jpa.hibernate.ddl-auto = update
# Sqlite數據源 #
spring.datasource.driver-class-name=org.sqlite.JDBC
spring.datasource.url=jdbc:sqlite:DbSqlite/xyfs.db
spring.datasource.platform=sqlite
spring.jpa.database-platform= xy.FileSystem.Dialect.SQLiteDialect
# mysql數據源 #
#spring.datasource.url=jdbc:mysql://localhost:3306/xyfs
#spring.datasource.username=root
#spring.datasource.password=mysql
# oracle數據源 #
#spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
#spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:torcl
#spring.datasource.username=center
#spring.datasource.password=centerDB12345
# dbcp2鏈接池配置 #
spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource
spring.datasource.dbcp2.max-wait-millis=10000
spring.datasource.dbcp2.min-idle=5
spring.datasource.dbcp2.initial-size=5
spring.datasource.dbcp2.validation-query=SELECT 1 FROM app
spring.datasource.dbcp2.connection-properties=characterEncoding=utf8
# druid鏈接池的配置信息 #
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#spring.datasource.initialSize=5
#spring.datasource.minIdle=5
#spring.datasource.maxActive=20
#spring.datasource.maxWait=60000
#spring.datasource.timeBetweenEvictionRunsMillis=60000
#spring.datasource.minEvictableIdleTimeMillis=300000
#spring.datasource.validationQuery=SELECT 1 FROM App
#spring.datasource.testWhileIdle=true
#spring.datasource.testOnBorrow=false
#spring.datasource.testOnReturn=false
#spring.datasource.poolPreparedStatements=true
#spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
#spring.datasource.filters=stat,wall,log4j
# spring jackson 時間配置 #
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.joda-date-time-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
# multipart 上傳配置 #
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=1024MB
spring.servlet.multipart.max-request-size=1024MB
# oss 日誌配置 #
logging.config=classpath:logback.xml