ownCloud/Nextcloud MIME类型管理

简介:
我们知道,在Web中,一个文件的类型并不取决于它的后缀名,而是取决于它的MIME类型。在使用ownCloud/Nextcloud中,我们有时会上传一些类型不常见的文件,而默认的,ownCloud/Nextcloud并不会识别这个文件,仅仅是把它当作一个未知的文件对待,像下面这样: 这就很难看了……下面我将介绍如何管理ownCloud/Nextcloud上的文件类型。

MIME类型别名

ownCloud/Nextcloud控制MIME类型的文件位于 resources/config/mimetypealiases.dist.json,里面有类似下方的内容。其中, :左侧的是文件的MIME类型,右侧的是这种类型所对应的图标,这儿我们把它称作 别名(Alias)(图标的svg文件位于 core/img/filetypes,这个我们后面说。)
{
 "application/coreldraw": "image",
 "application/font-sfnt": "image",
 "application/font-woff": "image",
 "application/illustrator": "image",
 "application/epub+zip": "text",
 "application/javascript": "text/code",
}
这些内容的作用是: 
  • 将MIME类型为application/coreldraw的Corel Draw文件以及类型为application/font-sfntapplication/font-woffapplication/illustrator的图标显示为image(即图标目录下的image.svg)
  • ePub文件将使用text图标显示
  • js文件将使用text-code图标显示


以下几个常用的MIME类型:

Mime类型 描述
image 常规图片
image/vector 矢量图像
audio 常规音频
x-office/document Word处理文档
x-office/spreadsheet 电子表格
x-office/presentation 幻灯片
text 常规文本
text/code 源代码

自定义文件图标

前面提到了我们可以自己定义不同类型的文件所对应的图标,但是ownCloud/Nextcloud自带的图标较少,只有20个。那么就很有可能发生这种情况: c++,python,php,js,html,css……这么多不同类型的语言的源码文件都来齐了,然而它们却用的同一个图标,难以分辨。为了解决这个问题,我们可以给它们定义不同的图标。 1.以Python为例,编辑 resources/config/mimetypealiases.dist.json,找到 "text/x-python": "text/code",,将后部的别名 text/code改为 text/python像下面这样:
"text/x-python": "text/python",
2.然后找一个Python的图标,要求为svg格式,重命名为text-python.svg。 [infobox]注意这里的图标文件的命名规范,要和你所设置的类型一致(即与 :后面的别名一致)。比如我将python的别名写成 text/python,那么图标文件的名字就应该是 text-python.svg,即将 /改为 -再加后缀 .svg。同理,如果我要给c++文件填一个图标,别名应该写作: "text/x-c++src": "text/cpp", 图标应该命名为: text-cpp.svg [/infobox] 3.将图标上传至 core/img/filetypes目录,注意文件权限的设置,要与目录下已有的文件保持一致。 4.执行OCC命令,更新mimetype别名数据库:
$ sudo -u www-data php occ maintenance:mimetype:update-js
mimetypelist.js is updated
5.清一下浏览器缓存,再次访问Nextcloud实例,效果: 同理,可以为其它的类型的文件添加图标: 推荐一个下载各种图标的网站: iconfont

建立独立的mimetype.json

在ownCloud/Nextcloud更新时,会将 mimetypealiases.dist.json也覆盖掉,使得之前的修改失效。ownCloud/Nextcloud允许我们创建一个独立的 mimetype.json文件。 将 mimetypealiases.dist.json拷贝为 mimetypealiases.json,并将它放在config/目录下。

MIME类型映射

ownCloud允许管理员将文件扩展名映射到mimetype,例如,将以mp3结尾的文件映射到audio/mpeg,并显示特定的图标。 文件后缀名与MIME类型的映射关系储存在 resources/config/mimetypemapping.dist.json。以下是这个文件内容的一个示例:
{
 "3gp": ["video/3gpp"],
 "7z": ["application/x-7z-compressed"],
 "accdb": ["application/msaccess"],
 "ai": ["application/illustrator"],
 "apk": ["application/vnd.android.package-archive"],
 "arw": ["image/x-dcraw"],
 "avi": ["video/x-msvideo"],
 "bash": ["text/x-shellscript"],
 "json": ["application/json", "text/plain"],
  ⇑后缀名    ⇑MIME类型(支持一种后缀对应多种MIME类型)            
}
例如 "json": ["application/json", "text/plain"],,表明对于后缀名为json的文件,其MIME类型都将定为 application/jsontext/plain

建立独立的mimetypemapping.json

同样的,为了防止ownCloud/Nextcloud的更新将修改后的文件覆盖掉,我们可以在/config目录下建立mimetypemapping.json: 将 resources/config/mimetypemapping.dist.json拷贝为 mimetypemapping.json,并将它放在config/目录下。
目录
相关文章
|
存储 关系型数据库 MySQL
Linux部署OwnCloud私有网盘
Linux部署OwnCloud私有网盘
Linux部署OwnCloud私有网盘
|
应用服务中间件 Linux Shell
06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
199 0
06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
|
数据安全/隐私保护 项目管理 网络安全
|
SQL 数据采集 网络协议
[CentOS Python系列] 五.阿里云部署web环境及通过IP地址访问服务器网页
本篇文章主要介绍讲述部署阿里云服务器web环境,并通过IP地址访问网页的过程。基础性文章,希望您喜欢。
747 0
[CentOS Python系列] 五.阿里云部署web环境及通过IP地址访问服务器网页
|
缓存 NoSQL 应用服务中间件
基于wlnmp一键包安装Nextcloud网盘
基于wlnmp一键包安装Nextcloud网盘
465 0
|
Apache PHP 数据安全/隐私保护
ownCloud/Nextcloud OCC命令行工具
列出所有用户 sudo -u apache php /var/www/html/occ user:list 扫描所有用户的所有文件 sudo -u apache php /var/www/html/occ files:scan --all 为用户user1扫描文件: sudo -u apache ...
2205 0
|
关系型数据库 MySQL Apache
owncloud其他配置信息常见问题解决
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 安装好owncloud后,我们就有了自己的云盘。但是我们的云盘性能安全性怎么样呢?还有哪些问题呢? 我们可以进如owncloud的设置页面看看 设置中的警告 我们可以看到在安全与设置警告里还有好几个问题。
1677 0
|
关系型数据库 应用服务中间件 PHP
Ubuntu14.04+Nginx+PHP+MySQL+EduSoho[推荐-标准环境-文档]
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396609 ...
1195 0