当前位置: 首页 > news >正文

文件分享系统--使用AI Trae开发前后端

       家里有公网,经常要发文件给别人,文件几个G发送还要云盘或者倒手一次才行,所以弄了个文件分享系统,这个是用字节的 AI Trae 写的,反正反复折腾还是弄出来了。东西挺好用,可以拖拽多个文件上传也可以手动添加,支持存储型目录也就是文件存储到运行的server上,可以是使用链接型,比如自己电脑运行文件几个G,直接指定文件位置即可生成共享链接。

       支持文件目录设置密码,只有使用密码才能下载文件目录及下面的文件,文件都做过密码鉴权处理,需要密码才能下载。好了下面有截图具体使用自己体验吧:)

https://github.com/newlxj/FileShare/https://github.com/newlxj/FileShare/

技术栈vue3+golang,运行只需要一个exe前后端都在一起自动运行。

Windows打包版本下载 FileShare-V20250331https://github.com/newlxj/FileShare/releases/download/v1.0.0/FileShare-V20250331.zip

⭐️支持这个项目

如果你觉得这个工具不错,请点击右上方给我一个'star'⭐️吧!

概述

本系统实现文件共享功能,主要用于本地需要对外进行共享使用,也可以当作文件服务器使用。管理端可自己创建文件共享目录,目录分为存储型和链接型,存储型上传的文件会存储到server上,链接型目录只做文件完整路径的链接,服务端不会存储实际文件,会从运行端磁盘直接获取文件共享给他人下载,比如文件上G就不用本地再上传存储一次。

server.json是配置文件,如果当服务器使用建议将配置中链接型linkDirAdd开关关闭,避免出现安全事故。

如果你下载已经制作好的exe直接运行就可以,目前由于只有Windows环境,只打包了windows版本,支持linux、mac等多系统,需要自己去编译。

运行截图

技术实现

  • 前端使用vue3 后端使用golang

构建步骤

自动构建(推荐)

项目提供了自动构建脚本,可以一键完成前后端的构建:

  1. 进入backend目录
  2. 运行build.bat脚本
  3. 脚本会自动构建前端和后端,并生成包含前端资源的可执行文件fileShare.exe

手动构建

如果需要手动构建,请按照以下步骤操作:

  1. 构建前端:
    cd frontend
    npm install
    npm run build
    
  前端页面特别注意,由于golang将前端打包到exe中方便运行,如果重新打包需要手动将web/index.html 和web/assets/index***.js中 assets/ 替换成fileserver/assets/
  1. 构建后端:
    cd backend
    go build -o fileShare.exe
    

3.全自动构建前后端

build.bat

运行方式

构建完成后,直接运行生成的可执行文件即可:

./fileShare.exe

或在Windows环境下双击fileShare.exe

访问地址:http://localhost:8080/fileserver/ 管理端密码默认:123456

注意事项

  • 首次运行时,系统会自动创建必要的配置文件
  • 默认端口为8080,可以通过配置文件修改
  • 嵌入的前端资源会通过配置的上下文路径提供服务

配置说明

系统配置文件位于config目录下:

  • server.json: 服务器配置,包括端口、上下文路径等
  • config-group.json: 目录配置
  • config-file.json: 文件配置

优势

  • 简化部署流程,只需一个可执行文件
  • 无需配置前端服务器
  • 前后端版本一致,避免兼容性问题
  • 便于分发和安装
  • 文件服务双击启动
  • 支持mac等多种设备
http://www.dtcms.com/a/108333.html

相关文章:

  • 鸿蒙应用元服务开发-Account Kit获取华为账号用户信息概述
  • 魔塔社区使用llamafactory微调AI阅卷试题系统
  • 应用弥散张量成像和支持向量机检测慢性爆炸相关轻度颅脑损伤
  • Dockerfile文件构建镜像Anaconda+Python教程
  • 六十天Linux从0到项目搭建(第十八十九天)(缓冲区机制、未打开的磁盘存放、文件存储、磁盘物理结构、寻址、块设备管理、文件系统、增删查改、硬链接、软链接)
  • 通俗易懂的解释Git操作中“合并”和“变基”的区别
  • CMD命令通过已知ip使用以下三种方式来获取对方主机名
  • 常见优化SQL语句策略和示例
  • ControlNet-Tile详解
  • 最新Spring Security实战教程(八)Remember-Me实现原理 - 持久化令牌与安全存储方案
  • Python数据可视化-第3章-图表辅助元素的定制
  • PyTorch 中池化层MaxPool2d
  • CSS--解决float: right在空间不够时会自动往下移的问题
  • 音视频入门基础:MPEG2-TS专题(26)——通过FFmpeg命令使用RTP发送TS流
  • 【Word】批注一键导出:VBA 宏
  • C#核心学习(五)面向对象--封装(4)C#中的索引器详解:让对象像数组一样灵活访问
  • MySQL的数据目录以及日志
  • 企业网络优化方案:SD-WAN赋能企业远程办公
  • 使用JSON.stringify报错:Uncaught TypeError: cyclic object value
  • RNN模型与NLP应用——(6/9)Text Generation(文本自动生成)
  • UE小:在Unreal Engine 5中实现多层静态网格体遮挡拾取
  • 【落羽的落羽 C++】模板简介
  • 交易引擎中的设计模式
  • 「青牛科技」GC5331 5V三相无感正弦波电机驱动芯片 对标茂达APX9331/灿瑞OCH2360
  • Spring Cloud Gateway 的核心作用
  • Flutter项目之登录注册功能实现
  • Debian/Ubuntu的networking的`/etc/network/interfaces`配置文件,如何配置route路由
  • SQL问题分析与诊断(8)——关键信息(2)
  • 数据结构----栈
  • LangChain/Eliza框架在使用场景上的异同,Eliza通过配置实现功能扩展的例子