从 S3 下载文件到用户计算机
Downloading Files From S3 To Users Computer
我的 Django 项目中有以下视图
class download_mscore_software(APIView):
def get(self, request):
session = boto3.Session(
aws_access_key_id=settings.AWS_ACCESS_KEY_ID,
aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY
)
s3 = session.resource('s3')
clancy = s3.Bucket("magpie-bixly-test").download_file("Clancy-Gorillaz.jpg", "Clancy-Gorillaz.jpg")
这可以将文件下载到我的项目目录中。但是,我需要将文件下载到用户计算机。我如何更改它以便发生这种情况?我试过这个:
clancy = s3.Bucket('magpie-bixly-test').download_file('Clancy-Gorillaz.jpg', 'Users/Downloads/Clancy-Gorillaz.jpg')
但是我收到一条错误消息说没有这样的目录。如果我像这样将文件名留在末尾,也会发生同样的情况。
clancy = s3.Bucket('magpie-bixly-test').download_file('Clancy-Gorillaz.jpg', 'Users/Downloads')
我的猜测是指定的路径是相对于您的项目的,因此找不到 Users/Downloads
文件夹。您可以尝试指定绝对路径(Windows: C:/Users/<USERNAME>/Downloads/Clancy-Gorillaz.jpg
或 Linux: /home/<USERNAME>/Downloads/Clancy-Gorillaz.jpg
)。其中 <USERNAME>
应替换为 OS 用户。
即使有效,一个好的做法是使用 os.path
来处理特定的 OS。
我的 Django 项目中有以下视图
class download_mscore_software(APIView):
def get(self, request):
session = boto3.Session(
aws_access_key_id=settings.AWS_ACCESS_KEY_ID,
aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY
)
s3 = session.resource('s3')
clancy = s3.Bucket("magpie-bixly-test").download_file("Clancy-Gorillaz.jpg", "Clancy-Gorillaz.jpg")
这可以将文件下载到我的项目目录中。但是,我需要将文件下载到用户计算机。我如何更改它以便发生这种情况?我试过这个:
clancy = s3.Bucket('magpie-bixly-test').download_file('Clancy-Gorillaz.jpg', 'Users/Downloads/Clancy-Gorillaz.jpg')
但是我收到一条错误消息说没有这样的目录。如果我像这样将文件名留在末尾,也会发生同样的情况。
clancy = s3.Bucket('magpie-bixly-test').download_file('Clancy-Gorillaz.jpg', 'Users/Downloads')
我的猜测是指定的路径是相对于您的项目的,因此找不到 Users/Downloads
文件夹。您可以尝试指定绝对路径(Windows: C:/Users/<USERNAME>/Downloads/Clancy-Gorillaz.jpg
或 Linux: /home/<USERNAME>/Downloads/Clancy-Gorillaz.jpg
)。其中 <USERNAME>
应替换为 OS 用户。
即使有效,一个好的做法是使用 os.path
来处理特定的 OS。