Site Loader

对于大多数用户来说,使用Nextcloud最多的功能是即时备份手机的照片及视频。
在一段时间后,用户也会使用浏览器登录Nextcloud进行照片及视频的查看、管理等工作。

在web上首次打开相关目录,会出现下图所示情况,缩略图一片空白。

过一会儿,缩略图才一个挨一个地慢慢出现。

那为什么会出现这种情况呢?那是由于Nextcloud上传完照片及视频后,并不会主动生成缩略图,只有当用户在web上打开相关目录,才会触发Nextcloud生成缩略图的动作。

如果照片、视频足够多的时候,那将是一个即漫长又痛苦的过程。

以下将介绍如何解决这种情况

首先使用管理员登录Nextcloud的web管理后台。

进入【应用】,在【Office & Text】一栏找到【Preview Generator】,点击【下载并启用】。

现在我们可以进行生成缩略图的工作了

生成缩略图分为【全盘生成】与【最新生成】

【全盘生成】将对所有文件进行扫描并生成缩略图

ssh连接服务器,进入Nextcloud的web目录,执行如下命令,等待完成。

sudo -u www-data php occ preview:generate-all -vvv

如果文件多的话,耗时非常长,速度也很慢,请慎重考虑,建议在闲时才进行。

【最新生成】将扫描最新添加的文件并生成缩略图

比较建议这种方式,只作用于最新文件,可减少资源消耗。

ssh连接服务器,进入Nextcloud的web目录,执行如下命令,等待完成。

sudo -u www-data php occ preview:pre-generate -vvv

设置定时任务,在指定时间扫描最新文件并生成缩略图

通过系统的定时任务,每天在特定时间给新添加的文件生成缩略图,既能减少人工干预,又能减少资源消耗。

ssh连接服务器,sudo -s进入root用户。

输入如下命令,为apache用户添加定时任务。

crontab -e -u www-data

然后添加一条定时任务,定时任务里的/var/nextcloud是nextcloud网站目录的绝对路径,大家可按自己实际情况修改。
设定在每天的23点执行本命令,执行时间同样可按需修改。
如果用户想在一天里执行多次任务,只需添加同样的命令,修改一下执行时间即可。

0 23 * * * php -f /var/nextcloud/occ preview:pre-generate

保存并退出,重启定时计划任务服务,使其生效。

service cron restart

这样,系统将会在每天的23点执行命令,给新上传的文件生成缩略图。

至此,已能较好地解决缩略图的显示问题了。