如何在WordPress中上传.rvt(Revit)文件?已有尝试方案无效
解决WordPress中.rvt(Revit)文件上传问题
以下是针对你遇到的问题的可行解决方案:
1. 修正自定义MIME类型代码(核心解决方案)
你之前使用的application/octet-stream是通用二进制流类型,WordPress可能仍会对.rvt文件进行额外检测而拦截。建议替换为Revit文件的官方标准MIME类型,并添加额外钩子绕过文件类型验证:
将以下代码添加到主题的functions.php文件中:
// 允许.rvt文件MIME类型 function allow_rvt_mime_types($mimes) { $mimes['rvt'] = 'application/vnd.autodesk.rvt'; return $mimes; } add_filter('upload_mimes', 'allow_rvt_mime_types'); // 绕过WordPress文件扩展名与MIME类型匹配检查 function fix_rvt_filetype_check($data, $file, $filename, $mimes) { $ext = pathinfo($filename, PATHINFO_EXTENSION); if (strtolower($ext) === 'rvt') { $data['ext'] = 'rvt'; $data['type'] = 'application/vnd.autodesk.rvt'; } return $data; } add_filter('wp_check_filetype_and_ext', 'fix_rvt_filetype_check', 10, 4);
2. 排查WP Forms插件设置
如果你继续使用「File Upload Type」插件:
- 确认插件中添加的.rvt文件类型对应的MIME是
application/vnd.autodesk.rvt,而非通用类型 - 打开对应的WP Forms表单编辑器,找到文件上传字段,在「允许的文件类型」选项中手动勾选或输入
rvt,确保表单层面允许该类型
3. 服务器层面限制排查
如果上述方法仍无效,检查服务器配置:
- 查看
php.ini中的upload_max_filesize和post_max_size值,确保大于你要上传的.rvt文件大小(比如设置为64M或更高) - 联系主机服务商,确认是否有
mod_security规则拦截了.rvt文件的上传,请求临时禁用相关规则或添加白名单
4. 测试上传
完成上述设置后,先尝试在WordPress媒体库直接上传.rvt文件,确认基础上传功能正常后,再测试WP Forms的前端上传功能。
内容的提问来源于stack exchange,提问作者Inventive Web Design
相关产品推荐
相关产品推荐

