一般工作中会有我想把某个文件分享给别人,但是又不想直接发给对方,因此需要一个中转站,我把文件上传到这个中转站,然后中转站给我一个可以查看的url,我再把url发给要查看的人。或者是想把一个文件分享给别人但是由于操作系统不同或者使用的文件编辑器不同而导致展示上有一些差异。
那么这个项目的目的就是为了解决这种需求。目前工作中我会把临时的接口文档写好,然后生成一个url分享给前端或者客户端,并且我这边是可以随时更新。
目前功能很简单,开发思路是先支持markdown,提升体验,修复bug等等,后续再加入更多的文件支持.
功能markdown√
json,xml,java,c,cpp,php,python等√
jpg,jpeg,png,gif√(大图片展示取决于服务器带宽,另外提供TinyPNG压缩选项)
doc,docx,xls,xlsx,ppt,pptx√(尝试了不少方案,poi+itext,最后还是微软的在线预览体验最好,当然也实现最简单)
使用docker pull push ifreehub/temp-file-viewer:1.3docker run -d -p 8081:8081 -e APP_OPTS="-Dspring.profiles.active=prod" docker.io/ifreehub/temp-file-viewer:1.3访问ip:8081即可.
配置
使用环境变量配置参数,可以使用-Dspring.config.location复写应用的配置.
# 应用参数APP_OPTS="-Dspring.config.location=file:/application.properties -Dspring.profiles.active=prod" # 虚拟机参数JVM_OPTS="-server -Xms256m -Xmx256m"Springboot配置说明
server.port=8081# 文件上传相关配置spring.servlet.multipart.max-file-size=10MBspring.servlet.multipart.file-size-threshold=1spring.http.encoding.charset=utf-8spring.http.encoding.force=truespring.http.encoding.force-request=truespring.http.encoding.force-response=true# root账户配置,该配置作为该项目的管理员账户root.username=qudingroot.password=123456root.avatar=https://oobu4m7ko.bkt.clouddn.com/avatar.png# jwt签名锁需要的密钥,管理员登录使用的是jwt方式,因此需要配置个秘钥。jwt.secret=123456# 上传的文件会存在该配置的本地目录中temp.file.dist=/quding/data/file# 对外访问域名,cookie会设置到该域名下,不设置则默认是当前response,对于nginx代理的可能会出问题temp.hostname=# 启用图片压缩,依赖第三方tinypng的服务 https://tinypng.com/developerstemp.picture.tinypng.enable=truetemp.picture.tinypng.apikey=JKwWUnDJK2TsriXiBXzoKzziSnKHk3lh技术
SpringBoot
Angular6
评论