• nextcloud批量预先生成缩略图 - 使用Preview Generator插件


    一、安装预先生成缩率图的插件:Preview Generator

    二、给php配置加上 apc.enable_cli=1

    参考 https://blog.csdn.net/sh2018/article/details/128154024

    三、启用宝塔面板被禁止的php函数:否则pre-generate无效 【好像不必了】

    **pcntl_signal pcntl_signal_dispatch **

    四、各种命令

    重建缩略图数据库,删除preview文件夹后需要用到此命令,要不然即便preview:generate-all也看不到缩略图

    sudo -u www php /www/wwwroot/domain.com/occ files:scan-app-data
    
    • 1

    扫描用户的文件数量信息,可以指定用户,也可以所有用户

    sudo -u www php /www/wwwroot/domain.com/occ files:scan usename
    sudo -u www php /www/wwwroot/domain.com/occ files:scan --all
    
    • 1
    • 2

    扫描所有文件并生成缩略图

    sudo --u www php /www/wwwroot/domain.com/occ preview:generate-all
    
    • 1

    注意:appnode面板中把php换成appnode-php80

    结尾加-vvv可以看到具体处理的图片

    sudo --u www php /www/wwwroot/domain.com/occ preview:generate-all -vvv
    
    • 1

    扫描最新文件并生成缩略图
    结尾加-vvv可看到具体处理的信息,也可以不加

    sudo --u www php /www/wwwroot/domain.com/occ preview:pre-generate -vvv
    
    • 1

    为了更好的体验,可以在空闲的凌晨执行定时任务,在宝塔“任务管理”中执行以上代码即可

    生成指定尺寸的缩略图
    参考https://github.com/nextcloud/previewgenerator

    sudo -u www php /www/wwwroot/domain.com/occ config:app:set --value="256 1024"  previewgenerator squareSizes
    sudo -u www php /www/wwwroot/domain.com/occ config:app:set --value="256 1024" previewgenerator widthSizes
    sudo -u www php /www/wwwroot/domain.com/occ config:app:set --value="256 1024" previewgenerator heightSizes
    //方形预览:256 1024
    //宽高比预览,宽度为:256 1024
    //宽高比预览,高度为:256 1024
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    修改preview生成图片的最大尺寸和质量,在config.php修改
    参考https://github.com/nextcloud/previewgenerator/issues/129
    https://docs.nextcloud.com/server/27/admin_manual/configuration_files/previews_configuration.html
    翻译版:https://blog.csdn.net/sh2018/article/details/128097985

    //'enable_previews' => true,//这行会导致错误,应该是之前“,”没有用英文导致
    'preview_max_x' => 1600,
    'preview_max_y' => 1024,
    'jpeg_quality' => 60,
    
    • 1
    • 2
    • 3
    • 4

    图片质量,命令版,有效

    sudo -u www php /www/wwwroot/domain.com/occ config:app:set preview jpeg_quality --value="90"
    
    
    • 1
    • 2

    禁止某个格式的文件生成缩略图
    参考https://github.com/nextcloud/previewgenerator/issues/129

    'enable_previews' => true,
    'enabledPreviewProviders' =>
    array (
    0 => 'OC\\Preview\\TXT',
    1 => 'OC\\Preview\\MarkDown',
    2 => 'OC\\Preview\\Image',
    3 => 'OC\Preview\PNG',//禁止png格式图片
    ),
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    可能导致pdf文件无法生成缩略图
    参考https://help.nextcloud.com/t/large-thumbnails-size-in-the-files-app/80525/4

    # 打开如下路径的文件
    sudo nano /etc/ImageMagick-6/policy.xml
    # 找到下列行
    <policy domain="coder" rights="none" pattern="PDF" />
    # 替换成 :
    <policy domain="coder" rights="read|write" pattern="PDF" />
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    如果出现如下错误提示:

    OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for
    local cache (Is the matching PHP module installed and enabled?)
    
    • 1
    • 2

    参考https://blog.csdn.net/sh2018/article/details/128154024


    nextcloud上的地址:https://apps.nextcloud.com/apps/previewgenerator
    官方地址:https://github.com/rullzer/previewgenerator

    参考
    https://www.jianshu.com/p/813d71f57625
    https://www.modb.pro/db/216900
    https://xie.infoq.cn/article/f289493891c9770a593beb374

  • 相关阅读:
    GBase 8c V3.0.0数据类型——注释信息函数
    企业申请车辆前雾灯E-mark认证的前提条件
    【RocketMQ】(八)Rebalance负载均衡
    ZooKeeper~ZooKeeper集群搭建
    【文末送书】Python数据分析
    Uniapp中嵌入H5( uniapp开发的H5),并且在H5中跳转到APP的指定页面
    C#将字符串日期转DateTime类型
    Docker启动SRS流媒体服务器
    WebGIS开发教程:geojson
    WebSocket基本使用方法
  • 原文地址:https://blog.csdn.net/sh2018/article/details/128064653