飞道科技

飞道科技文档总汇

文件服务

1. 参数

2. 文件下载/图片查看(getfile)

包括查看图片,下载文件

参数名 说明 是否必传 默认值
file_id 文件ID,目前没有项目使用这种方式 与file_name必传其一
file_name 文件名,现在case工具在调用文件服务时传参时多数不传文件后缀名(这个设计是不科学的) 与file_id必传其一
download 如果传该参数,则强制下载所有文件,其值可为空,true或具体文件名(如abc.pdf)
productid 产品ID
spaceid spaceid 与产品ID相同
systemid 数据库 11
modelid 压缩策略id wpf

3. 文件上传(upload)

参数名 说明 是否必传 默认值
productid 产品ID
spaceid spaceid 与产品ID相同
systemid 数据库 11
modelid 压缩策略id wpf

4. 文件更新(reupload)

参数名 说明 是否必传 默认值
id 要删除的文件名 与delfile_name必传其一
delfile_name 要删除的文件名 与id必传其一
productid 产品ID
spaceid spaceid 与产品ID相同
systemid 数据库 11
modelid 压缩策略id wpf

5. 文件删除

5.1. 根据文件名删除(delfile)

参数名 说明 是否必传 默认值
id 要删除的文件名,如果有多个文件,请使用逗号(,)隔开 与delfile_name必传其一
delfile_name 要删除的文件名,如果有多个文件,请使用逗号(,)隔开 与id必传其一
productid 产品ID
spaceid spaceid 与产品ID相同
systemid 数据库 11
modelid 压缩策略id wpf

5.2. 根据文件id删除(delfilebyid)

参数名 说明 是否必传 默认值
id 要删除的文件名,如果有多个文件,请使用逗号(,)隔开
productid 产品ID
spaceid spaceid 与产品ID相同
systemid 数据库 11
modelid 压缩策略id wpf

6. 七牛云

使用控件

7. 文件压缩

如果希望上传的文件使用压缩策略,则需要在上传文件(必须是图片文件)时添加modelid参数,如:

http://127.0.0.1:8888/upload?productid=feidao_400&modelid=test

注意:暂时文件服务支持的只有webp格式的缩略图。如有其它需求,需要文件服务再开发。

7.1. 配置表(默认为该产品对应的11库):

mode_collection

7.1.1. 字段说明

字段名 说明 示例
_id 关键字  
modeId 压缩策略id wpf
standard 默认的压缩策略,详见下表 `[{“standardId”:”img1”,”width” :”54”,”height”:”0”,”fixed”:”false”},{“standardId”:”img2”,”width”:”350”,”height”:”0”,”fixed”:”false”},{“standardId”:”img3”,”width”:”800”,”height”:”0”,”fixed”:”false”}]
productid 产品id  

7.1.2. 压缩策略

多数时候实际的缩略图宽高是按照原图比例基于此策略计算出来,所以上例中只设置了宽(0和不设置该字段效果相同),未设置高。实际上宽和高只设置一个就可以。如果宽和高都设置,在压力图片的时候将会使用设置的宽高,有时候会造成图片比例被拉伸。

字段名 说明 示例
standardId 标识,唯一值  
width 如果为空或0,将使用实际比例根据高计算出宽
height 如果为空或0,将使用实际比例根据宽计算出高
fixed 未知 false

8. office文件处理(自动转换为pdf或图片)

8.1. 上传office文件示例

http://192.168.40.196/fsweb/upload-office?productid=feidao_400&toimg

8.2. 存在的问题

在某种情况下调用libreoffice将office文件转换为pdf文件时会导致出错。此时会有两个进程(具体进程名字未记录,待补)一直不退出,导致下次调用时一直失败。

8.3. 目前支持的类型

基本上只要是libreoffice支持的文件类型都可以,但是如果文件本身损坏,将导致转换失败。

8.4. 转换图片

添加参数toimg即可。

8.5. 数据格式

[
	{
		"id": "5047e62c-b814-45d0-9d9f-cfd000850176",
		"name": "40550A.xls",
		"origin": {
			"_id": "5047e62c-b814-45d0-9d9f-cfd000850176",
			"length": 51200,
			"chunkSize": 261120,
			"uploadDate": "2018-11-10T06:21:23.917Z",
			"filename": "9cef19d3-2b60-43c3-b1fc-93548efe6180.xls",
			"md5": "be6d6d8c5761348f2e4c336f873f009a",
			"contentType": "application/vnd.ms-excel",
			"metadata": {
				"originialFileName": "40550A.xls",
				"productid": "feidao_400"
			}
		},
		"pdf": {
			"_id": "01949eaa-5eb4-4d9a-8b95-cf1fd6a281a6",
			"length": 72434,
			"chunkSize": 261120,
			"uploadDate": "2018-11-10T06:21:23.929Z",
			"filename": "upload_2fb9cf2d9800270bd3390e181d7cf46e.pdf",
			"md5": "4cb3adcd265f37f2f79e565a6f5ab554",
			"contentType": "application/pdf",
			"metadata": {
				"originialFileName": "40550A.pdf",
				"productid": "feidao_400"
			}
		},
		"images": [
			{
				"_id": "d69080b3-2ca8-4a41-9a06-649ae71d8718",
				"length": 108529,
				"chunkSize": 261120,
				"uploadDate": "2018-11-10T06:21:23.992Z",
				"filename": "upload_2fb9cf2d9800270bd3390e181d7cf46e-1.jpg",
				"md5": "2621863e7438acaddf025c3a3ef97711",
				"contentType": "image/jpeg",
				"metadata": {
					"originialFileName": "upload_2fb9cf2d9800270bd3390e181d7cf46e-1.jpg",
					"productid": "feidao_400"
				}
			},
			{
				"_id": "e04e37d8-2fa3-43a4-b5e6-34e4e4611201",
				"length": 108546,
				"chunkSize": 261120,
				"uploadDate": "2018-11-10T06:21:24.007Z",
				"filename": "upload_2fb9cf2d9800270bd3390e181d7cf46e-2.jpg",
				"md5": "40e0b6bd8338aae0eb458b8fcc7fdf5f",
				"contentType": "image/jpeg",
				"metadata": {
					"originialFileName": "upload_2fb9cf2d9800270bd3390e181d7cf46e-2.jpg",
					"productid": "feidao_400"
				}
			},
			{
				"_id": "4a1bd229-eaaa-48d2-8df5-510f4b4ded4a",
				"length": 111290,
				"chunkSize": 261120,
				"uploadDate": "2018-11-10T06:21:24.002Z",
				"filename": "upload_2fb9cf2d9800270bd3390e181d7cf46e-3.jpg",
				"md5": "86332a600749a4a444276e2f6935794c",
				"contentType": "image/jpeg",
				"metadata": {
					"originialFileName": "upload_2fb9cf2d9800270bd3390e181d7cf46e-3.jpg",
					"productid": "feidao_400"
				}
			},
			{
				"_id": "d76e56f5-ed59-4241-a805-61ad1fa0bc75",
				"length": 115169,
				"chunkSize": 261120,
				"uploadDate": "2018-11-10T06:21:24.023Z",
				"filename": "upload_2fb9cf2d9800270bd3390e181d7cf46e-4.jpg",
				"md5": "03dae38ca66fe8151bde15df5b6c7bd7",
				"contentType": "image/jpeg",
				"metadata": {
					"originialFileName": "upload_2fb9cf2d9800270bd3390e181d7cf46e-4.jpg",
					"productid": "feidao_400"
				}
			},
			{
				"_id": "7a5da439-9b02-4828-853b-5f86e6376d47",
				"length": 97466,
				"chunkSize": 261120,
				"uploadDate": "2018-11-10T06:21:24.016Z",
				"filename": "upload_2fb9cf2d9800270bd3390e181d7cf46e-5.jpg",
				"md5": "bfe85a5b5f51c45b76b3ad61be6ad190",
				"contentType": "image/jpeg",
				"metadata": {
					"originialFileName": "upload_2fb9cf2d9800270bd3390e181d7cf46e-5.jpg",
					"productid": "feidao_400"
				}
			},
			{
				"_id": "af2c42a5-6aba-4e46-9cf2-d0e53288ebe8",
				"length": 49411,
				"chunkSize": 261120,
				"uploadDate": "2018-11-10T06:21:24.002Z",
				"filename": "upload_2fb9cf2d9800270bd3390e181d7cf46e-6.jpg",
				"md5": "8c32eef8d4102fbeb89cdfd6e426817f",
				"contentType": "image/jpeg",
				"metadata": {
					"originialFileName": "upload_2fb9cf2d9800270bd3390e181d7cf46e-6.jpg",
					"productid": "feidao_400"
				}
			},
			{
				"_id": "feabdf4a-914f-4946-96fa-6c24923b4255",
				"length": 11572,
				"chunkSize": 261120,
				"uploadDate": "2018-11-10T06:21:24.017Z",
				"filename": "upload_2fb9cf2d9800270bd3390e181d7cf46e-7.jpg",
				"md5": "1b5834b3d106eff52c15aa8aa14df414",
				"contentType": "image/jpeg",
				"metadata": {
					"originialFileName": "upload_2fb9cf2d9800270bd3390e181d7cf46e-7.jpg",
					"productid": "feidao_400"
				}
			}
		]
	}
]

8.6. 注意

  1. 必须使用文件上传控件,不支持上传base64格式的文件
  2. 转换过程比较耗时(在我本机测试,一个32M的doc文档,转换需要1.7分钟),为避免超时错误,请在文件上传控件添加timeout属性(默认的超时设置为30秒)
  3. 支持上传pdf转换为图片文件
  4. 目前,转换为图片之后是jpg格式,其它格式暂不支持。
  5. 上传返回的数据结构与普通上传有差异,不支持同一文件名的不同文件同时上传。

9. 图片转换png处理

9.1. 转换png示例

http://192.168.40.196/fsweb/img-2-png?productid=feidao_400

9.2. 返回数据格式

[
	[
		{
			"_id": "94cacbf1-b110-4861-8ee4-bc412357d5ff",
			"length": 50378,
			"chunkSize": 261120,
			"uploadDate": "2018-12-03T09:48:48.360Z",
			"filename": "6dea89b0-2896-4608-b871-c8777b2cec41.tif",
			"md5": "e9e721905f5160fb82617b0e1c9a0a3e",
			"contentType": "image/tiff",
			"metadata": {
				"originialFileName": "1_1.tif",
				"productid": "feidao_400"
			}
		},
		{
			"_id": "5c04fc0086bf8a68759a07bc",
			"length": 147506,
			"chunkSize": 261120,
			"uploadDate": "2018-12-03T09:48:49.658Z",
			"filename": "df1b9aee-e673-449e-a105-3485d7ddf13b.png",
			"md5": "d743424cd3ac3c57b3e598963d70bbee",
			"contentType": "image/png",
			"metadata": {
				"originialFileName": "df1b9aee-e673-449e-a105-3485d7ddf13b.png",
				"productid": "feidao_400"
			}
		}
	]
]

9.3. 注意

  1. 必须使用文件上传控件,不支持上传base64格式的文件
  2. 暂时只有tif格式文件测试通过,但通常的其它图片类型jpg,gif应该也都支持。如果项目中遇到转换失败的情况,主及时联系我