简约图床 —— 单文件零依赖轻量图床源码详解

简约图床 —— 单文件零依赖轻量图床源码详解-宝藏郎资源网
简约图床 —— 单文件零依赖轻量图床源码详解
此内容为免费资源,请登录后查看
0积分
资源资源文件
免费资源
已售 5

 

简约图床 —— 单文件零依赖轻量图床源码详解

一个纯前端单文件图床页面,HTML + CSS + JS 全部写在一个 index.html 里,无构建工具、零依赖,保存后用浏览器打开即用。移动端优先设计,桌面端自动居中适配。


一、项目概述

简约图床是一套极致轻量的图床前端页面源码。与市面上动辄依赖数据库、后端框架的图床系统不同,它把全部功能浓缩进一个 HTML 文件——没有 npm install、没有 Webpack、没有 Vue/React,下载后直接用浏览器打开就能跑。

核心定位:共享 100G 存储空间,单文件最大上传 20M,适合个人/小团队快速搭建轻量图床。


二、技术特点

维度 详情
开发语言 HTML + CSS + JavaScript(原生)
依赖项 零依赖,无需任何第三方库或框架
数据库 无
构建工具 无需构建,单文件即用
部署方式 浏览器直接打开,或托管于任意静态服务器
设计风格 移动端优先,桌面端自动居中适配

三、功能模块详解

📤 上传系统

特性 说明
点击选择 点击虚线框调起文件选择器,支持多选
追加选择 已选文件后可再次点击追加新文件
重复过滤 文件名 + 大小 + 修改时间完全相同的文件自动忽略
上传队列 可视化队列管理,一张一张顺序上传
实时进度 每张图片独立进度条,上传状态一目了然
失败重试 上传失败显示原因,点击”开始上传”自动重试所有等待/失败条目
防重复提交 上传中按钮自动禁用,防止误操作重复提交
文件校验 前端不做大小校验,单文件上限由后端控制,超限后端报错提示

📋 队列管理

每条队列项展示:

  • 🔹 缩略图(加载失败自动回退为类型图标)
  • 🔹 文件名
  • 🔹 文件大小
  • 🔹 状态标识:等待上传 / 上传中 / 已完成 / 上传失败
  • 🔹 实时进度条

操作:

  • 单条移除(上传中的不可移除)
  • 一键清空队列(上传中不可清空)

🗂️ 文件列表

  • 按上传时间倒序排列
  • 每页 20 条分页
  • 显示「共 N 张」总数统计
  • 缩略图加载失败自动回退为彩色类型图标
  • 一键复制直链

🎛️ 底部操作面板

点击列表条目弹出底部面板,展示:

  • 文件大小
  • 文件类型
  • 上传时间
  • 操作按钮:预览 / 下载 / 复制链接

面板交互:

  • 点「取消」关闭
  • 点遮罩区域关闭
  • 按住顶部把手向下拖拽约 90px 自动关闭(触屏手势)

🔍 预览功能

文件类型 预览方式
图片 双指缩放(最高 50 倍)、拖拽平移、双击切换 1x/2.5x 倍率、桌面端滚轮缩放
视频 内嵌播放器直接播放
音频 内嵌播放器直接播放

🔔 其他细节

  • Toast 提示:操作反馈轻提示
  • 下拉手势关闭面板:移动端触屏友好
  • 点遮罩关闭:符合移动端操作习惯
  • 复制链接全平台兼容:优先使用 navigator.clipboard(需 HTTPS/localhost 安全上下文),HTTP 环境自动回退 execCommand 方案

四、浏览器兼容性

平台 兼容情况
iOS Safari ✅ 支持,触摸手势完整生效
Android Chrome ✅ 支持,触摸手势完整生效
桌面 Chrome ✅ 支持,滚轮缩放
桌面 Edge ✅ 支持
桌面 Firefox ✅ 支持

技术要求:浏览器需支持 ES6、fetch、Promise。

注意:视频/音频播放能力取决于浏览器自身支持的编码格式。


五、使用指南

5.1 上传图片

  1. 点击虚线框选择图片(支持多选)
  2. 可再次点击追加更多图片
  3. 重复文件(文件名+大小+修改时间全同)自动忽略
  4. 点击「开始上传」,队列按顺序逐张上传
  5. 上传失败条目留在队列,修复后端后再次点击「开始上传」即可重试

5.2 管理文件

  • 「我的图片」区域倒序展示所有已上传文件
  • 底部有分页导航
  • 点击条目的「复制」按钮直接复制直链
  • 点击条目主体弹出底部操作面板,可预览/下载/复制链接

5.3 关闭面板

  • 点「取消」按钮
  • 点遮罩背景
  • 移动端按住顶部把手向下拖拽约 90px

六、常见问题

问题 解决方案
上传失败/没反应 检查后端代理是否部署、地址和口令是否正确配置;失败条目保留在队列,修复后重试
大文件传不上 上限由后端控制,错误信息会显示在队列状态中
缩略图变成彩色图标 图片加载失败自动回退,检查直链是否可访问
传视频/音频 前端上传框限定 accept="image/*" 仅选图片;若需传视频/音频,后端放开限制即可,预览/下载逻辑已按通用文件实现

七、适用场景

  • 个人轻量图床搭建
  • 团队内部图片共享
  • 嵌入现有系统作为图片上传模块
  • 学习前端上传队列管理、手势交互实现
  • 快速原型验证,无需复杂部署

八、项目亮点总结

  • 🪶 极致轻量:单文件、零依赖、无数据库,HTML/CSS/JS 一把梭
  • 📱 移动优先:触屏手势(捏合缩放、下拉关闭)、响应式布局
  • 📤 队列管理:多选追加、去重、进度追踪、失败重试
  • 🔍 强大预览:图片双指缩放(最高50倍)、拖拽、双击倍率切换、视频/音频内嵌播放
  • 🔗 全平台复制兼容:HTTPS 走 Clipboard API,HTTP 降级 execCommand
  • 🚫 防呆设计:上传中按钮禁用、重复文件过滤、失败重试机制
  • 🎨 回退策略:缩略图加载失败自动回退类型图标

图片

图片[1]-简约图床 —— 单文件零依赖轻量图床源码详解-宝藏郎资源网

下载链接:

https://pan.quark.cn/s/1f07c3bf6086

© 版权声明
THE END
喜欢就支持一下吧
点赞478 分享