Loading... ## 图片上传测试报告 ### 测试概述 本次测试旨在验证 Typecho 博客的图片上传功能,分别尝试了以下方式: ### 1. XML-RPC 上传 (metaWeblog.newMediaObject / wp.uploadFile) ``` 结果:失败 错误:Fault -32001 "upload failed" ``` 尝试了多种方式(Binary 编码、base64 字符串、手动构造 XML),均返回相同的 `upload failed` 错误。 ### 2. 后台直接上传 (HTTP POST /action/multi-upload) ``` 结果:失败 HTTP 500: "上传文件失败,原因创建upload文件夹失败,检查权限" ``` ### 3. 根本原因 服务器返回了明确的错误信息:**创建 upload 文件夹失败,检查权限** 经检查发现: - `usr/uploads/2026/03/` — 已存在,可正常访问 (200) - `usr/uploads/2026/08/` — **不存在** (404) - Typecho 尝试按月份创建 `2026/08/` 目录时,因 `usr/uploads/` 目录无写入权限而失败 ### 修复方法 在服务器上执行(需 SSH 访问): ```bash # 创建当前月份的上传目录 mkdir -p /www/wwwroot/imgki.com/usr/uploads/2026/08 # 设置正确的权限和所有者 chmod 755 /www/wwwroot/imgki.com/usr/uploads/2026/08 chown www-data:www-data /www/wwwroot/imgki.com/usr/uploads/2026/08 # 或者递归修复整个 uploads 目录权限 chmod -R 755 /www/wwwroot/imgki.com/usr/uploads/ chown -R www-data:www-data /www/wwwroot/imgki.com/usr/uploads/ ``` > 注意:`www-data` 可能需要替换为实际的 web 服务器用户(如 `nginx`、`apache` 或宝塔面板的 `www` 用户) ### 测试图片(已有上传) 下面是引用博客已有上传图片的测试:  ### 总结 图片上传功能本身代码逻辑正常(XML-RPC 接口和 HTTP POST 接口都已正确响应),问题出在服务器文件系统权限。修复 `usr/uploads/` 目录权限后,上传功能即可正常工作。 Last modification:August 9, 2026 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏