附件上传改为文件流并默认支持 2G
xiaobai 8小时前

2026-06-10 附件上传改为文件流并默认支持 2G

本次将发帖附件上传从 base64 POST 改为 FormData 文件流上传,降低大文件上传时的浏览器内存占用和请求体膨胀问题,并将程序默认附件上限调整为 2G。

主要改动:

  1. 前端上传方式改造
  • 文件:view/js/xiuno.js
  • 普通附件和编辑器图片上传改为 FormData + upfile 文件流提交。
  • 保留带图片压缩参数的上传兼容逻辑,后台二维码等场景仍可按原方式压缩后上传。
  • 上传进度继续通过 xhr.upload.progress 回调更新。
  1. 服务端附件接收改造
  • 文件:route/attach.php
  • 附件创建接口优先接收 $_FILES['upfile'],并使用 move_uploaded_file() 保存到 upload/tmp/
  • 保留旧版 base64 data 上传兼容。
  • 文件类型、扩展名、MIME、安全后缀拦截等原有校验继续保留。
  • 程序默认单附件限制从 100M 调整为 2G
  1. 后台二维码上传兼容
  • 文件:admin/route/setting.php
  • 快捷按钮微信二维码上传兼容新的 $_FILES['upfile'] 文件流请求。
  • 原 base64 上传方式继续兼容。

配置影响:

  • 程序默认上限已调整为 2G,但线上仍需要同步调整 PHP 和 Web 服务器限制。
  • PHP 建议配置:
upload_max_filesize = 2048M
post_max_size = 2200M
memory_limit = 512M
max_execution_time = 0
max_input_time = 0
  • Nginx 建议配置:
client_max_body_size 2200m;
  • 大文件上传还需要确保 PHP 临时目录、upload/tmp/  upload/attach/ 所在磁盘空间充足。
 
欢迎大家加入QQ交流群:785017513
最新回复 (0)
全部楼主
返回
xiaobai
二级用户组
27
主题数
4
帖子数
扫码访问