0

我正在尝试通过 ShareFile API 下载大型(大到 3GB 到 80GB 之间的任何地方)文件以存储在本地目录中。

我尝试过使用 Python 脚本、JavaScript 和 cURL,但所有这些都在某个时间点或另一个点因超时而失败。

下面是我正在使用的 Python 代码片段,它并不总是可靠的,因为它一天在 3GB 文件上工作,然后在没有更改代码时不再工作。它只会返回 504 超时。它不可能适用于 10GB 文件甚至 80GB 文件。我一直在研究下载大文件的方法,但是在查找如何通过 API 调用下载大文件时,对其他人来说大的似乎是我没有问题的 MB。

我也尝试下载一个字节范围,但是当尝试使用下面的相同代码下载一个 12GB 文件时它会超时,只是为 Range 添加一个额外的标头。

def download_item(downloadUrl, token, local_path):
    url = downloadUrl + '/Download'
    headers = {'Authorization': 'Bearer ' + token, 'Accept-Encoding': 'gzip'}
    response = requests.get(url = url, headers = headers, stream = True)
    print(response.status_code)

    with open(local_path, 'wb') as f:
        print("Opened")
        for chunk in response.iter_content(chunk_size=512):
            f.write(chunk)
    return print("File completed " + str(datetime.datetime.now()))

我也尝试过使用 cURL,它可以处理我需要的 12GB 文件,但在任何更大的文件中都会超时

必须有一种方法可以处理非常大的文件,但我的研究没有返回任何有帮助的东西。

4

0 回答 0