transloadit / uppy

The next open source file uploader for web browsers :dog:

Home Page:https://uppy.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

companion: PostObject incompatibility with S3-compatible solutions

nerg4l opened this issue · comments

Initial checklist

  • I understand this is a feature request and questions should be posted in the Community Forum
  • I searched issues and couldn’t find anything (or linked relevant results below)

Problem

@uppy/companion supports S3-compatible object storage options like DigitalOcean Spaces. Companion uses createPresignedPost from @aws-sdk/s3-presigned-post which presigns a PostObject operation. One of the S3-compatible options are Cloudflare R2 and Backblaze B2 which doesn't support PostObject operation.

Solution

The same (or at least similar) can be achieved with PutObject which is supported.

Alternatives

A configuration value could be added to fall back to PutObject.

Hi, we wrote this specifically for S3 and only test against that. We implicitly support providers who have a strict compatibility with S3. So I'm not sure if we want to dive into this, as it opens the gate to supporting multiple providers with an almost compatible API.

If you want to increase chances of this being worked on, perhaps include some references or proof that this wouldn't be a big change and that there is no degraded experience for S3.

Related issue: #4505
Another related issue: #4649