如何移除Azure Blob Storage中WordPress上传图片的额外字符串
Microsoft Azure Storage for WordPress插件上传媒体文件名异常问题解决
问题描述
已使用Microsoft Azure Storage for WordPress插件将WordPress媒体库迁移至Azure Blob Storage,配置的目标路径示例为:
https://example.com/app/uploads/2022/12/some-image.jpg
具体操作:创建名为app的容器,在容器内新建uploads文件夹并迁移所有媒体资源,同时配置MICROSOFT_AZURE_CONTAINER为app/uploads。当前旧媒体访问正常,但上传新图片时,Azure Storage中的路径出现异常:
https://example.com/app/uploads/2022/12/6391b4e64b763-6391b4e64b764placeholder-image.png.png
表现为文件名开头添加随机字符串,且文件扩展名重复。
原因分析
- 容器配置层级错误:插件的
MICROSOFT_AZURE_CONTAINER参数仅需指定Azure Blob Storage的容器名称,而非容器内的子路径。把app/uploads填入该参数,插件会错误地将整个字符串当作容器名处理,导致后续生成文件路径时,子路径逻辑与文件名拼接逻辑混淆,进而出现重复扩展名和随机字符串的异常。 - 文件名处理逻辑冲突:插件默认可能会为文件名添加唯一标识符(即开头的随机字符串),但因容器路径配置错误,该标识符被错误插入到文件名前,同时扩展名被重复拼接。
解决步骤
- 修正容器配置参数:
将MICROSOFT_AZURE_CONTAINER的值从app/uploads修改为app。如果插件支持设置容器内的存储路径,在对应选项中填入uploads;若插件无此选项,确保容器内的uploads文件夹已存在,插件会自动将媒体文件存入该文件夹。 - 禁用文件名自动哈希:
进入插件设置页面,查找「文件名处理」相关选项,开启「保留原始文件名」或关闭「添加唯一标识符」功能,避免随机字符串被添加到文件名前。 - 测试上传验证:
上传一张新图片,检查Azure Storage中的文件路径是否恢复为预期格式(如https://example.com/app/uploads/2022/12/image-placeholder.png)。
内容的提问来源于stack exchange,提问作者Suika
相关产品推荐
相关产品推荐

