aliyun / ossfs

Export s3fs for aliyun oss.
GNU General Public License v2.0
735 stars 152 forks source link

OSSFS 对 TIFF 稀疏文件的支持不好 #114

Open Pagliacii opened 5 years ago

Pagliacii commented 5 years ago

在 Docker 容器(Ubuntu 14.04.5 LTS)里使用 OSSFS 挂载,使用 tiff2pdf 工具转换存放在 OSS 里的某些 TIFF 文件时,生成在 OSS 里的 PDF 文件是损坏的。经确认,出问题的 TIFF 文件是稀疏文件,大小为 66MB。

OSSFS 版本为: image

调用 Windows 的 GetFileAttributes 获取该 TIFF 文件的属性值,结果为 544(32 + 512)。相关属性值说明

s3fs 类似问题

1. 生成 PDF 到 OSS 里

使用的转换命令:

tiff2pdf -o <path-of-oss>/test.pdf <path-of-oss>/source.tiff

使用 pdfinfo 工具读取生成的 PDF 文件信息,结果如下:

Syntax Error: Couldn't read xref table
Syntax Warning: PDF file is damaged - attempting to reconstruct xref table...
Syntax Error: Couldn't find trailer dictionary
Syntax Error: Couldn't read xref table

生成的 PDF 文件大小为 843 字节。

2. 生成 PDF 在容器里:

使用的转换命令:

tiff2pdf -o test.pdf <path-of-oss>/source.tiff

使用 pdfinfo 工具读取生成的 PDF 文件信息,结果如下: image

生成的 PDF 文件大小为 2.4MB。

knightXun commented 5 years ago

ossfs下面是对象存储 随机写会有问题,建议在有其他目录先生成pdf文件,然后copy到ossfs目录下