Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 谷歌存储桶下载速度慢_Python_Google Cloud Platform_Google Cloud Storage_Download - Fatal编程技术网

Python 谷歌存储桶下载速度慢

Python 谷歌存储桶下载速度慢,python,google-cloud-platform,google-cloud-storage,download,Python,Google Cloud Platform,Google Cloud Storage,Download,我在从谷歌存储桶下载文件时遇到了一个奇怪的问题 如果我在Linux上运行此代码,下载一个64kb的PDF文件大约需要5分钟 def generate_document(request): if not ensure_valid_user(request): return redirect('/?result=0') try: long_name = request.GET['long_name'] short_name = req

我在从谷歌存储桶下载文件时遇到了一个奇怪的问题

如果我在Linux上运行此代码,下载一个64kb的PDF文件大约需要5分钟

def generate_document(request):
    if not ensure_valid_user(request):
        return redirect('/?result=0')

    try:
        long_name = request.GET['long_name']
        short_name = request.GET['short_name']

        file_data, size = CloudStorageManager.get_file(long_name)

        response = HttpResponse(file_data, content_type='application/octet-stream')
        response['Content-Disposition'] = 'attachment; filename={}'.format(short_name)
        response['Content-Length'] = size

        return response

    except Exception as ex:
        print(ex)
以下是来自
CloudStorageManager
类的重要方法:

class CloudStorageManager:
    # private key file, used for local testing
    storage_client = storage.Client.from_service_account_json(
        'CloudStorageAPIKey.json')

    bucket = storage_client.get_bucket("my.private.bucket")

    @staticmethod
    def get_file(long_name):
        bucket = CloudStorageManager.bucket
        blob = bucket.blob(long_name)

        file_string = blob.download_as_string()

        return file_string, blob.size
我迷茫的是,在Linux中,如果我从我的
generate_document()
方法中注释掉
response['Content-Length']=size
,下载会以正常速度进行,但是当我回家进入Windows并对该行进行注释时,下载会再次花费5分钟,并与包含的行一起工作


有人能帮我解释一下哪里出了问题吗?

很有趣

我通过分配我的回复的
内容长度
解决了这个问题:

response['Content-Length']=size


response['Content-Length']=len(response.Content)

No.
blob.size==None
如果您有新问题,请单击按钮提问。如果此问题有助于提供上下文,请包含指向此问题的链接。-@RADO这与我的问题直接相关,这是我找到的解决问题的方法,我之所以没有删除这个问题(因为我找到了自己的答案),是因为我觉得我所做的只是一个绷带修复。不过,我确实删除了重复的问题。我想知道为什么需要这个修复。