一、安装预先生成缩率图的插件: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

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

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

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

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

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

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

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

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

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

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

生成指定尺寸的缩略图
参考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

修改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,

图片质量,命令版,有效

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

禁止某个格式的文件生成缩略图
参考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格式图片
),

可能导致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" />

如果出现如下错误提示:

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

参考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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐