1

我在 NodeJS 环境(在 linux 上运行)中使用 Archiver 来创建一个结构如下的 ZIP:

/root
    /documents
        /doc1.pdf
        /doc2.pdf
        /doc3.pdf
    /clientA
        /doc1.pdf < symlink to ../documents/doc1.pdf
    /clientB
        /doc3.pdf < symlink to ../documents/doc3.pdf

使用 ArchiverJS 的这些功能:

archiverInstance.append(filestream, {name: '/root/documents/doc1.pdf'})

archiverInstance.symlink('/root/clientA/doc1.pdf', '../documents/doc1.pdf')

当我在 linux 上下载这个 ZIP时,我可以打开符号链接。

# linux ubuntu 19.04
ls -l ~/root/clientA
lrwxrwxrwx 1 usr usr 28 oct 11 11:51 doc1.pdf -> ../documents/doc1.pdf`

但是当我在 Windows 10 上下载此 ZIP时,符号链接被破坏,使用 Windows 资源管理器中的标准“提取”按钮。

# windows 10
cd root/clientA
dir
10/11/2019  02:49 AM  <DIR>     .
10/11/2019  02:49 AM  <DIR>     ..
10/11/2019  02:49            28 doc1.pdf < click on it = PDF corrupted
               1 File(s)      28 bytes
               2 Dir(s)

为什么这在 Windows 10 上不起作用?有没有其他方法可以让它发挥作用?

谢谢

4

0 回答 0