未找到中央目录结尾签名
End-of-central-directory signature not found
我使用 linux zip 命令创建了 zip 文件并将其上传到我的 google 驱动器中。当我尝试使用 curl 和解压缩命令(使用 bash 文件)下载和解压缩压缩文件时,出现以下错误。
Archive: pretrained_models.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of pretrained_models.zip or
pretrained_models.zip.zip, and cannot find pretrained_models.zip.ZIP, period.
任何人都可以提出任何解决方法来解决此问题吗?
如果有人想重现错误,我正在共享 .sh
文件。
#!/bin/bash
pretrained='https://drive.google.com/uc?export=download&id=0B8ZGlkqDw7hFSm1MQ2FDVTZCTjA'
# download pretrained models.
curl -o pretrained_models.zip $pretrained
unzip pretrained_models.zip
rm pretrained_models.zip
文件已公开共享。对于健全性检查,您可以从 here.
下载
N.B。我在 SO 的其他社区看到过相关帖子,其中一些建议使用不同的文件扩展名,但我想坚持使用 zip 文件。
下载Google驱动器上的共享文件时,需要根据文件大小更改下载方式。发现更改方法时文件大小的边界约为40MB.
修改后的脚本:
1。文件大小 < 40MB
#!/bin/bash
filename="pretrained_models.zip"
fileid="0B8ZGlkqDw7hFSm1MQ2FDVTZCTjA"
curl -L -o ${filename} "https://drive.google.com/uc?export=download&id=${fileid}"
2。文件大小 > 40MB
当它尝试下载超过 40MB 的文件时,Google 说从以下 URL 下载。
<a id="uc-download-link" class="goog-inline-block jfk-button jfk-button-action" href="/uc?export=download&confirm=####&id=### file ID ###">download</a>
包含查询 confirm=####
对于下载大文件很重要。为了从 HTML 检索查询,它使用 pup
.
#!/bin/bash
filename="pretrained_models.zip"
fileid="0B8ZGlkqDw7hFSm1MQ2FDVTZCTjA"
query=`curl -c ./cookie.txt -s -L "https://drive.google.com/uc?export=download&id=${fileid}" | pup 'a#uc-download-link attr{href}' | sed -e 's/amp;//g'`
curl -b ./cookie.txt -L -o ${filename} "https://drive.google.com${query}"
我使用 linux zip 命令创建了 zip 文件并将其上传到我的 google 驱动器中。当我尝试使用 curl 和解压缩命令(使用 bash 文件)下载和解压缩压缩文件时,出现以下错误。
Archive: pretrained_models.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of pretrained_models.zip or
pretrained_models.zip.zip, and cannot find pretrained_models.zip.ZIP, period.
任何人都可以提出任何解决方法来解决此问题吗?
如果有人想重现错误,我正在共享 .sh
文件。
#!/bin/bash
pretrained='https://drive.google.com/uc?export=download&id=0B8ZGlkqDw7hFSm1MQ2FDVTZCTjA'
# download pretrained models.
curl -o pretrained_models.zip $pretrained
unzip pretrained_models.zip
rm pretrained_models.zip
文件已公开共享。对于健全性检查,您可以从 here.
下载N.B。我在 SO 的其他社区看到过相关帖子,其中一些建议使用不同的文件扩展名,但我想坚持使用 zip 文件。
下载Google驱动器上的共享文件时,需要根据文件大小更改下载方式。发现更改方法时文件大小的边界约为40MB.
修改后的脚本:
1。文件大小 < 40MB
#!/bin/bash
filename="pretrained_models.zip"
fileid="0B8ZGlkqDw7hFSm1MQ2FDVTZCTjA"
curl -L -o ${filename} "https://drive.google.com/uc?export=download&id=${fileid}"
2。文件大小 > 40MB
当它尝试下载超过 40MB 的文件时,Google 说从以下 URL 下载。
<a id="uc-download-link" class="goog-inline-block jfk-button jfk-button-action" href="/uc?export=download&confirm=####&id=### file ID ###">download</a>
包含查询 confirm=####
对于下载大文件很重要。为了从 HTML 检索查询,它使用 pup
.
#!/bin/bash
filename="pretrained_models.zip"
fileid="0B8ZGlkqDw7hFSm1MQ2FDVTZCTjA"
query=`curl -c ./cookie.txt -s -L "https://drive.google.com/uc?export=download&id=${fileid}" | pup 'a#uc-download-link attr{href}' | sed -e 's/amp;//g'`
curl -b ./cookie.txt -L -o ${filename} "https://drive.google.com${query}"