给聊天系统加图片上传,踩了三个坑

上周接了个活儿,给一个 PHP 聊天系统加图片上传功能。需求看着简单:支持 jpg、png、webp,前后台都要能传。

结果搞了整整两天。

第一个坑是格式判断。前端用 JS 检查了文件类型,但有人直接改后缀名绕过,后端必须再验一次 MIME 类型。漏了这步,上传个伪装成图片的 PHP 文件就完蛋了。

第二个坑是大小限制。Nginx 默认只让传 1MB,改完配置重启才生效。用户传了张 4K 截图,直接 413 报错,我还以为是代码问题,排查了半天。

第三个坑最无语。手机端上传图片后,消息列表不自动滚动到底部,新图片被压在下面看不见。最后加了句 scrollTop = scrollHeight 解决,但动画效果太生硬,还得再调。

现在能用了,但回头看这个系统的代码结构,耦合度太高,改一个地方牵出三个 bug。以后接这种老项目维护,得先评估值不值。

—— 2026.6.13

暂无评论

发送评论 编辑评论


				
上一篇
下一篇