Skip to main content
 首页 » 编程设计

python之如何让客户端上传直接到 S3 而不是通过 Django 代理

2024年08月25日29wayfarer

我使用 Django 和 boto3 sdk

这是目前的治疗方法。

<强> 1。客户端发送文件到Django(EC2)
2. 将文件保存到Django(EC2)
3. 将存储在 Django(EC2) 上的文件发送到 S3。

但是,这是低效的。所以,我想这样做

<强> 1。客户端发送文件到Django(EC2)
2.接收文件S3中的实时传输

我不想存储EC2.... 但是,要将文件传输到S3,我需要查看之前EC2中的文件信息。我不想将文件从客户端传输到 S3。

是动态传输到EC2中的S3。

我该怎么做?

请您参考如下方法:

有几种方法可以让用户直接从他们的客户端浏览器上传到 S3:

下面描述这背后的过程:

Amazon S3 supports POST, which allows your users to upload content directly to Amazon S3. POST is designed to simplify uploads, reduce upload latency, and save you money on applications where users upload data to store in Amazon S3. http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingHTTPPOST.html

您可以使用/适应的一些可行选项:

  1. Direct to S3 File Uploads in Python
  2. How to generate a temporary url to upload file to Amazon S3 with boto library?
  3. How to upload directly to S3 using AWS Javascript SDK