Skip to content

Latest commit

 

History

History
365 lines (267 loc) · 6.99 KB

File metadata and controls

365 lines (267 loc) · 6.99 KB

🚀 Web应用快速启动指南

⚡ 30秒快速启动

方式1:运行启动脚本(最简单)

cd s:\新建文件夹\jiuxingHttp
python run_web.py

然后访问:http://localhost:5000

方式2:Python命令行

cd s:\新建文件夹\jiuxingHttp
pip install flask flask-cors
python app.py

📋 功能列表

✅ 已实现的功能

功能 说明 状态
图片上传 支持PNG/JPG/BMP/TIFF,最大50MB
参数调整 4种预设 + 自定义参数
实时预览 上传和处理结果实时显示
水印生成 可见+对抗+隐形三层保护
快速下载 一键下载处理后的图片
图片库 保存处理历史
API接口 完整的REST API
响应式设计 适配所有设备

🎯 使用步骤

1️⃣ 上传图片

① 进入 http://localhost:5000
② 拖拽图片到上传区域或点击选择
③ 支持格式:PNG, JPG, BMP, TIFF
④ 最大文件:50MB

2️⃣ 调整参数

选择方式一:快速预设
- 轻量保护 (3个水印)
- 标准保护 (6个水印)  ← 推荐
- 强力保护 (12个水印)
- 最大保护 (20个水印)

或选择方式二:自定义参数
- 水印数量:1-20
- 对抗强度:0-1
- 水印文本:自定义
- 隐形水印:可选

3️⃣ 生成水印

点击"生成水印"按钮
↓
系统处理图片(通常需要几秒)
↓
显示处理结果和对比图

4️⃣ 下载结果

查看原图和处理后的对比
↓
点击"下载处理后的图片"
↓
浏览器自动下载PNG文件

🔧 系统要求

  • 操作系统:Windows/Linux/macOS
  • Python:3.8+
  • 浏览器:Chrome/Firefox/Safari/Edge
  • 磁盘空间:至少200MB(用于临时文件)

📦 依赖安装

快速安装(自动)

python run_web.py  # 首次运行会自动检查和安装依赖

手动安装

pip install -r requirements.txt

如果缺少依赖

# 安装Web框架
pip install flask flask-cors

# 安装图像处理
pip install opencv-python pillow numpy scipy

# 验证安装
python -c "import flask, cv2, PIL; print('✅ 依赖已安装')"

🌐 访问Web应用

服务 地址 说明
首页 http://localhost:5000 Web应用主页
API - 上传 POST /api/upload 上传图片
API - 处理 POST /api/process 处理图片
API - 下载 GET /api/download/ 下载文件
API - 信息 GET /api/info 系统信息
API - 预设 GET /api/presets 获取预设

📂 生成的文件

处理后的文件存储位置:

jiuxingHttp/
├── uploads/          # 上传的原始图片
│   └── *.png
├── processed/        # 处理后的图片
│   └── *_watermarked_*.png
└── ...

清理文件

# 删除所有上传的文件
rm -r uploads/*

# 删除所有处理结果
rm -r processed/*

💡 常见问题

Q: 浏览器提示无法连接

A:

# 1. 检查Flask是否在运行
# 应该看到: Running on http://0.0.0.0:5000

# 2. 确保端口5000未被占用
# Windows:
netstat -ano | findstr :5000

# 3. 尝试访问其他地址
http://127.0.0.1:5000
http://localhost:5000

Q: 上传图片失败

A:

✓ 检查文件格式 (PNG/JPG/BMP/TIFF)
✓ 检查文件大小 (< 50MB)
✓ 检查文件是否完整(不要中途中断)
✓ 查看浏览器控制台错误信息 (F12)

Q: 处理太慢

A:

✓ 减少水印数量(用轻量预设)
✓ 使用较小的图片
✓ 关闭其他程序释放系统资源
✓ 对于大图片,预期需要10-30秒

Q: 如何改变端口

A:

# 编辑 app.py 最后一行
app.run(host='0.0.0.0', port=8080)  # 改为8080

# 然后访问 http://localhost:8080

Q: 如何在远程服务器运行

A:

# 1. 上传代码到服务器
scp -r jiuxingHttp/ user@server:/home/user/

# 2. SSH连接服务器
ssh user@server

# 3. 启动应用
cd /home/user/jiuxingHttp
python run_web.py

# 4. 访问
http://your-server-ip:5000

🛑 停止应用

# 在终端中按 Ctrl+C 停止Flask服务器
^C

# 或在Windows任务管理器中结束 python.exe 进程

📊 性能参数

参数 说明
最大上传大小 50MB 可在app.py中修改
处理超时 无限制 根据图片大小决定
并发连接 无限制 Flask默认配置
缓存时间 1小时 浏览器缓存

🔒 安全提示

生产环境建议

# app.py 最后修改为:
app.run(
    host='0.0.0.0',
    port=5000,
    debug=False,        # 关闭调试模式
    use_reloader=False  # 关闭热重载
)

文件安全

# 定期清理上传的文件
find uploads/ -type f -mtime +1 -delete  # 删除1天前的文件

# 限制文件权限
chmod 700 uploads/
chmod 700 processed/

📖 API使用示例

使用cURL上传和处理

# 1. 上传文件
curl -X POST \
  -F "file=@image.png" \
  http://localhost:5000/api/upload

# 2. 处理图片
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "filepath": "/path/to/uploads/image.png",
    "fragments_count": 6,
    "perturbation_strength": 0.3,
    "watermark_text": "© Protected"
  }' \
  http://localhost:5000/api/process

# 3. 下载文件
curl -O http://localhost:5000/api/download/image_watermarked.png

使用Python请求

import requests

# 上传文件
with open('image.png', 'rb') as f:
    response = requests.post(
        'http://localhost:5000/api/upload',
        files={'file': f}
    )
    data = response.json()
    filepath = data['filepath']

# 处理图片
response = requests.post(
    'http://localhost:5000/api/process',
    json={
        'filepath': filepath,
        'fragments_count': 6,
        'perturbation_strength': 0.3
    }
)
result = response.json()
print(result['output_filename'])

🎓 学习资源


📞 获取帮助

  1. 查看日志:在Flask控制台查看错误信息
  2. 浏览器开发工具:F12打开,查看Network和Console
  3. GitHub Issues:提交问题到仓库

🎉 下一步

  • 在本地运行Web应用
  • 上传测试图片
  • 尝试不同的参数
  • 下载和查看结果
  • 分享你的成果!

祝你使用愉快! 🚀

有任何问题,随时提问!