Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Transfer.sh | 14,370 | 2 | 12 days ago | 26 | June 06, 2023 | 31 | mit | Go | ||
Easy and fast file sharing from the command-line. | ||||||||||
Shrine | 3,095 | 255 | 52 | 15 days ago | 53 | June 14, 2021 | 11 | mit | Ruby | |
File Attachment toolkit for Ruby applications | ||||||||||
Evaporatejs | 1,762 | 26 | 14 | 8 months ago | 51 | October 08, 2017 | 91 | JavaScript | ||
Javascript library for browser to S3 multipart resumable uploads | ||||||||||
Tableflow | 1,354 | 3 days ago | 15 | September 06, 2023 | 23 | other | Go | |||
The open source CSV importer | ||||||||||
S4cmd | 1,249 | 7 | 9 months ago | 5 | August 13, 2018 | 107 | apache-2.0 | Python | ||
Super S3 command line tool | ||||||||||
React S3 Uploader | 776 | 118 | 34 | 2 years ago | 59 | November 04, 2020 | 52 | mit | JavaScript | |
React component that renders an <input type="file"/> and automatically uploads to an S3 bucket | ||||||||||
S3_direct_upload | 648 | 5 years ago | 114 | mit | Ruby | |||||
Direct Upload to Amazon S3 With CORS | ||||||||||
Django S3direct | 602 | 76 | 1 | a year ago | 78 | June 17, 2022 | 33 | mit | Python | |
Directly upload files to S3 compatible services with Django. | ||||||||||
S3 Plugin Webpack | 486 | 125 | 59 | 2 months ago | 37 | November 04, 2020 | 22 | mit | JavaScript | |
Uploads files to s3 after complete | ||||||||||
Gulp Awspublish | 398 | 1,530 | 199 | 9 months ago | 57 | March 04, 2022 | 21 | mit | JavaScript | |
gulp plugin to publish files to amazon s3 |
This is a simple Python/django demo of using the excellent jQuery File Upload to upload large files directly to S3 using browser uploads to S3 using HTML POST and S3 CORS. I largely followed the instruction in this Ruby example, but I thought other people may want to see the Python/django example.
To run the example on your computer, do something like the following:
git clone <repo url> /tmp/s3upload
cd /tmp/s3upload
virtualenv .venv
source .venv/bin/activate
pip install -r requirements.txt
export PROJECT_ROOT=/tmp/s3upload
export DJANGO_SECRET=<my secret>
export AWS_ACCESS_KEY_ID=<my amazon key ID>
export AWS_SECRET_ACCESS_KEY=<my amazon secret key>
export AWS_S3_BUCKET_URL=<bucket url>
python manage.py runserver
Naturally you should fill in the values in angle brackets with real values. AWS_S3_BUCKET_URL
is the canonical URL of your bucket, for a bucket named foo
in US East it would be https://foo.s3.amazonaws.com
.
Your bucket will need to have a CORS policy set. Follow the instructions here to set a CORS policy. For real work, you'd like to have a policy confined to your origin domain and perhaps other conditions. For development, a suitable policy could be:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
This is all you need to get the example working. I think the code is very straightforward, but for further explanation on what's going on I suggest you read the Ruby example linked above.
I'm @aknin
by the way, contact me if you have any questions.