自建一个匿名文件上传终结点

视频 https://www.bilibili.com/video/BV1Hz1DBZEov/ 明确需求 在做一个项目时,无论大小,首先我们要知道自己需要什么,哪些是刚需,哪些是次要的,哪些是根本不必要的 深度思考一下,我觉得该项目使用场景应该在:当我处于非家庭环境,且手上有一台不直通家庭网络但是可连接至互联网的设备,需要传输一些非敏感文件且文件不大(如:文档,截图,小软件) 那么大致的需求即为: 基于Web网页,制作一个前端页面,必须包含一个 input file 。上传完成打印上传完成 后端将文件放到一个存储空间。该存储空间必须在家庭网络内较方便的访问 方案对比 这里提供两种方案,各有优劣: 方案一:对象存储 方案二:本地服务器 稳定性 ⭐⭐⭐⭐⭐ 不依赖本地设备 ⭐⭐ 需要家庭电脑在线 复杂度 ⭐⭐⭐ 需要配置云函数 ⭐⭐⭐⭐⭐ 一行命令启动 成本 对象存储费用 无(家庭带宽) 适用场景 需要稳定运行 家庭电脑常在线 方案一:EdgeOne Pages + 对象存储 如果你希望服务稳定运行,不依赖家庭设备在线状态,那么对象存储方案更适合你。 梳理思路 借助对象存储,我只需要找一个云函数连接到我的对象存储,然后提供一个上传端点即可。 正式开始 于是我找到了EdgeOne Pages,它的Functions非常适合做这件事,且支持原生Node运行时,也就是 node-functions 直接使用 AWS-S3 这个NPM包再做一个最简单的前端上传页面,搞定! 为了防止上传重名文件,每个文件上传后都会被重命名为 原文件名_时间戳_IP 该项目已开源 afoim/EdgeOnePageFunctionUnknownUploader-S3- 方案二:Python uploadserver 更推荐: https://github.com/svenstaro/miniserve 如果你的家庭电脑通常保持在线,且追求简单易用,那么在自家电脑启动一个匿名文件上载器也是个不错的选择。 安装 确保你安装了 Python 安装 uploadserver pip install --user uploadserver 接下来,创建并进入一个新文件夹,作为 上传目录 mkdir upload cd upload 运行,并监听 IPv4 的 8000端口 ...

November 8, 2025 · 1 min · 114 words

记录一下批量重命名插件咋写的

正式开始 首先我让AI写一个批量重命名插件 编写一个重命名的脚本(Python) 让我通过 python xxx.py (目录) 传入一个目录,然后将内部的所有文件按照 1 2 3 4 5这样重命名,保留原后缀 然后AI写出来了,但是有一个交互 是否要对 xxx 进行批量重命名(Y/N): 我就让他删掉 不要交互,直接运行 然后又出现了新问题,如果有一个文件,比如 100.webp 已经存在,然后在Python的默认排序中,100.webp 可能并不是第 100 个,也就是说会有别的文件将要被重命名为 100.webp 然后代码对于这样的文件会直接跳过,这就会导致重命名不完全 那么我就说 不要跳过 强制重命名 然后新的问题出现了:如果已经有一个文件为 100.webp 是无法将另一个文件也重命名为 100.webp 的,会报错 重命名文件 '716.webp' 失败: [WinError 183] 当文件已存在时,无法创建该文件。: 'C:\\Users\\acofork\\Pictures\\r1\\ri\\h\\716.webp' -> 'C:\\Users\\acofork\\Pictures\\r1\\ri\\h\\744.webp' 那么最后,我用了一个绝妙的办法 将所有文件随机命名 重新排序 依次重命名 于是我继续说 先全部命名为 随机数,然后再重新命名 这下就对了

September 5, 2025 · 1 min · 52 words