【问题标题】:Wordpress: An error occurred in the uploadWordpress:上传时出错
【发布时间】:2013-01-23 22:15:16
【问题描述】:

更新到 WordPress 3.5 后,我在以非管理员用户身份使用“添加媒体”按钮上传文件时开始收到以下错误:

错误:上传时出错。请稍后再试。

图像似乎已完成上传,但最后出现此错误消息。

这不会发生在管理员身上,只会发生在其他角色身上。我什至尝试为其他角色提供完整的管理员权限,但仍然出现错误。

这是一个错误吗?还是我错过了什么?

【问题讨论】:

    标签: wordpress upload wordpress-3.5


    【解决方案1】:

    经过多次反复试验,我终于找到了适合我的解决方案。

    首先,我发现为自定义用户角色上传文件需要以下角色功能:

    $capabilites = array(
    
        'read'                  => true,
        'upload_files'          => true,
        'edit_published_pages'  => true,
        'edit_others_pages'     => true
    
    );
    

    我不确定为什么特别需要这些,但是没有它们,错误就会不断发生。

    其次,我必须更新我正在使用的功能以防止非管理员用户访问仪表板:

    function redirect_nonadmin_fromdash(){
    
        if($_SERVER['PHP_SELF'] == '/wp-admin/async-upload.php'){
    
            /* allow users to upload files */
    
            return true;
    
        } else if(get_user_role() != 'administrator'){
    
            /* custom function get_user_role() checks user role, 
            requires administrator, else redirects */
    
            wp_safe_redirect(home_url());
            exit;
    
        }
    
    }
    
    add_action( 'login_form_login', 'redirect_nonadmin_fromdash' );
    add_action( 'admin_init', 'redirect_nonadmin_fromdash', 1 );
    

    之前,我检查的是 media-upload.php,但新的媒体上传器使用的是 async-upload.php。

    因此,从本质上讲,这允许非管理员用户从前端使用新媒体上传器,而不允许他们访问仪表板。

    它还限制了他们对媒体库的访问,这对我来说也很重要。

    【讨论】:

    • 太棒了!您建议的功能解决了我的自定义角色问题!
    • 感谢您的提示,这仍然适用于 WP 4.7.5
    【解决方案2】:

    这可能是由几个不同的因素造成的,这通常表明:

    文件太大

    请参阅this 线程,了解如何增加允许的最大文件大小。

    磁盘空间不足

    检查您的服务器硬盘是否已满。

    写入权限不足

    确保 PHP 和您的网络服务器对 wp-uploads 文件夹具有写入权限。

    【讨论】:

    • 当我以管理员身份登录时它工作正常,所以这并不能解释为什么它不适用于其他角色。
    • 我说这就是它通常的意思,你有没有麻烦检查一下?尝试将主题设置为 Wordpress 的默认主题之一,并尝试逐个禁用插件。
    【解决方案3】:

    我只是在将 PHP 更新到 5.3 后遇到了这个错误。我的问题是short_open_tag。

    默认情况下它是关闭的。我启用了它,现在一切正常。

    【讨论】:

      【解决方案4】:

      我解决了我的问题,

      sudo apt-get update
      sudo apt-get install php5-gd
      

      我在上传时收到了 firebug 检查的这条消息。

         GD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD libraryGD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD library{"success":true,"data":{"id":17,"title":"yoshi","filename":"yoshi1.jpg"
      

      所以我在上传的那一刻在萤火虫中得到了这个。

      【讨论】:

        【解决方案5】:

        请查看此链接了解更多详情 - 它帮助了我https://sebastian.expert/fix-wordpress-an-error-occurred-in-the-upload-please-try-again-later/

        基本上它所说的是在上传文件后(出现错误消息时)使用 Chrome 或 Firefox 中的开发人员工具查看来自 async_upload.php 文件的响应。它以 JSON 格式返回错误详细信息。有了详细信息,解决问题会更容易、更快。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-07-08
          • 1970-01-01
          • 2019-07-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-05
          相关资源
          最近更新 更多