Crystal shard to provide API for generating pre-signed URLs for file uploads to cloud storage. This shard was created to provide direct to cloud uploads using browser functionality to PlaceOS, but is designed to be generic and can be used with any library and/or application.
Currently supports Amazon S3 and Azure Storage (Blob)
Benefits of moving file uploads functionality near to end user are:
- Off-loads processing to client machines
- Better guarantees against upload corruption
- file hashing on the client side
- Upload results are guaranteed
- user is always aware of any failures in the process
- Detailed progress and control over the upload
-
Add the dependency to your
shard.yml
:dependencies: upload-signer: github: spider-gazelle/upload-signer
-
Run
shards install
require "upload-signer"
crystal spec
- Fork it (https://github.com/spider-gazelle/upload-signer/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request