...
If you're using Swarm without the Gateway proxy, you must add the "--post301 --location-trusted" curl options. You do not need to pass user credentials with Swarm.
REGULAR POST
curl -v -u "USER:PASSWORD" -T /tmp/myhugefile.zip -XPOST -H "Content-type: application/zip" "http://mydomain.example.com/mybucket/myhugefile.zip"
Tip: if you need to write an unnamed stream object you must input the file via stdin and use "-T -
" to prevent curl from appending the filename.
...
curl -v -u "USER:PASSWORD" -XPOST -H "Content-type: application/zip" --data-binary @/tmp/myhugefile.zip "http://mydomain.example.com/mybucket/myhugefile.zip"
HTTP MULTIPART MIME (FORM) POST (ONLY VIA GATEWAY)
Note this is only supported via Gateway: https://connect.caringo.com/system/files/docs/s/Multipart_MIME_POST.htmlsee Multipart MIME POST.
curl -v -u "USER:PASSWORD" -F upload=@/tmp/myhugefile.zip -F upload=@/tmp/foo.gif "http://mydomain.example.com/mybucket/"
*Don't forget the "@" before the filename! Note you can specify multiple files, but remember these files will use the Gateway spool directory. Note the URL is only the bucket (or a subdirectory-like path), the stream object name will be based on the filename uploaded.
This type of upload will result in streams objects that are either a single object (replcated replicated as policy.replicas
) or EC (see https://connect.caringo.com/system/files/docs/s/WorkingwithLargeObjects.htmlWorking with Large Objects) depending on factors such as the file size and EC settings. Whether a file is uploaded with Transfer-encoding: chunked
can also influence how it's written.
SCSP MULTIPART (PARALLEL WRITE)
This is useful for uploading large files. You "initiate" the upload then upload each part of the file, then make a "complete" request. https://connect.caringo.com/system/files/docs/s/Multipart_Write_Example.htmlSee Multipart Write Example.
This type of upload always results in an EC streamobject, even if the final object is smaller than the EC minimum setting.
S3 MULTIPART UPLOAD
The S3 protocol is only supported via Gateway but the implementation of S3 multipart uses Swarm SCSP multipart (parallel writes) and behaves similarly. The s3cmd utility provides a good way to do a multipart upload, but rclone is faster because it uploads the parts in parallel. If your bucket allows "anonymous" writes, you can use "curl". See http://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
This type of upload always results in an EC streamobject, even if the final object is smaller than the EC minimum setting.