关于图片异常的修复,可以浏览不能下载的修复经历

自己搭建的seafile(8.0.17版本),之前用着也没太注意,后来发现所有图片类的文件,都不能在网页下载和预览。就是觉得seafile在线预览图片比其他网盘好用,不能预览和下载那还怎么用嘛。在群里问了几次也没人回答,昨天有空自己查了一晚上的资料折腾了一晚上终于搞定了,把解决的经过和大家分享下

1、Nginx的配置文件导致图片下载不正常:
默认配置内有以下代码:
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log off;
}
注释或删除以上代码,重启Nginx服务,如果修复图片异常则省略后面的步骤

2、安装seafile时未安装相关组件,这些组件安装时seafile不会提示需要安装的
安装图片插件
# for ubuntu 16.04
apt-get install ffmpeg
apt install python-pip
pip install pillow moviepy

Centos系统的在论坛里找下别人有提供过

3、修改seafile的seahub_settings.py的配置文件,增加在线预览的配置代码

# 是否使用 pdf.js 来在线查看文件. 默认为 `True`
USE_PDFJS =True

# 在线预览的文件大小上限,默认为 30M.这里设置的是200M
FILE_PREVIEW_MAX_SIZE =200*1024*1024

# 可预览文件的文件类型扩展名
# 注意:Since version 6.1.1
TEXT_PREVIEW_EXT ="""ac, am, bat, c, cc, cmake, cpp, cs, css, diff, el, h, html,
htm, java, js, json, less, make, org, php, pl, properties, py, rb,
scala, script, sh, sql, txt, text, tex, vi, vim, xhtml, xml, log, csv,
groovy, rst, patch, go"""

# 开启 thumbnails 功能
# 注意: since version 4.0.2
ENABLE_THUMBNAIL = True

# Seafile只针对小于以下尺寸的图片生成缩略图
# 企业版 6.3.8 之后,也支持在线预览 psd 文件,同样该选项可以限制 psd 文件在线预览的大小
THUMBNAIL_IMAGE_SIZE_LIMIT = 200 # MB

# 文件缩略图的存储位置,设置为自己的安装路径,没有thumb的话创建设置对应启动用户的777权限
THUMBNAIL_ROOT = '/opt/seahub-data/thumbnail/thumb/'

# 图片预览的默认大小。放大这个尺寸可以提高预览的质量。默认1024
# 注意: since version 6.1.1

THUMBNAIL_SIZE_FOR_ORIGINAL = 2048

之后重启seafile服务

以上是本次修复过程,希望能帮助到像我一样被图片不能预览和下载困扰的小伙伴们

确实可以解决图片超过30M无法预览的问题,但是如果图片过大,会导致点击开之后加载时间特别长