为了账号安全,请及时绑定邮箱和手机立即绑定

允许在 WordPress 中上传 .json 文件

允许在 WordPress 中上传 .json 文件

PHP
喵喔喔 2023-10-15 16:32:18
我想在 WordPress 的媒体库中上传 .json 文件。原因是我正在使用 Lottie 动画,并且输出是动画 .svg 文件。我只想从后端检索文件 url 以在前端使用它。不幸的是,即使使用以下代码,.json 也无法导入:function cc_mime_types($mimes) {    $mime_types = array(        'svg'     => 'image/svg+xml',        'json'     => 'application/json',    );    return $mimes;   }add_filter('upload_mimes', 'cc_mime_types');define( 'ALLOW_UNFILTERED_UPLOADS', true );有谁知道此类问题的解决方案?
查看完整描述

4 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

由于 PHP 确定 json 文件的 mime 类型text/plain,正确的解决方案是:

function my_mime_types($mimes) {

    $mimes['json'] = 'text/plain';

    return $mimes;

}

add_filter('upload_mimes', 'my_mime_types');


查看完整回答
反对 回复 2023-10-15
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

在原始代码中,您声明了新的 mime 类型$mime_types,但不对其执行任何操作,而是返回原始的未更改的类型$mimes。


至于您的工作解决方案,您可以仅使用一个函数,如下所示:


function cc_mime_types($mimes) {

    $mimes['json'] = 'application/json';

    $mimes['svg'] = 'image/svg+xml';

    return $mimes;

}

add_filter('upload_mimes', 'cc_mime_types');


查看完整回答
反对 回复 2023-10-15
?
白衣非少年

TA贡献1155条经验 获得超0个赞

我只是添加了两个不同的函数而不是数组,并且由于某种原因它起作用了。


function json_mime_types($mimes) {

    $mimes['json'] = 'application/json';

    return $mimes;

   }

add_filter('upload_mimes', 'json_mime_types');


function cc_mime_types($mimes) {

    $mimes['svg'] = 'image/svg+xml';

    return $mimes;

   }

add_filter('upload_mimes', 'cc_mime_types');

``


查看完整回答
反对 回复 2023-10-15
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

如果这对任何人有帮助,如果您使用 WordPress Multisite,其中需要首先在“网络管理”->“设置”中声明子站点允许的文件类型列表,则ALLOW_UNFILTERED_UPLOADS常量或upload_mimes过滤器都不会自行工作WordPress 中的页面。显然,您的 WordPress 用户需要足够的权限才能看到此设置页面。

根据我的经验,一旦您添加json到此列表中,upload_mimes过滤器就会按预期工作。


查看完整回答
反对 回复 2023-10-15
  • 4 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信