Meteor with AWS S3

I’ Am using slingshot which is a project enhanced by @mikkelking.

Actually, it is my first time to use storage system with Meteor. I found that there are many different solution to insure the storage operations like : Slingshot, Meteor-jalik-ufs which is used by RocketChat and Ostrio:file.

During the use of Slingshot, I have faced some issues, because i was using S3 in a local environment.
I think the code below will explain what I want to say:

Slingshot.createDirective("myFileUploads", Slingshot.S3Storage, {
			bucket: "dev",
			acl: "public-read",
			storageClass: 'REDUCED_REDUNDANCY',

			authorize: function () {
				//Deny uploads if user is not logged in.
				if (!this.userId) {
					var message = "Please login before posting files";
					throw new Meteor.Error("Login Required", message);


				return true;

			key: function (file) {
				//Store file into a directory by the user's username.
				var user = Meteor.users.findOne(this.userId);
				return user.username + "/" +;


<Error><Code>BadRequest</Code><Message>An error occurred when parsing the HTTP request POST at &#39;/&#39;</Message><Resource>/</Resource><RequestId></RequestId><HostId>3795b201-44ae-4429-b3a8-6b5fbf98db90</HostId></Error>

Authorize Meteor Server side and upload client side (slingshot principle)

Thank you a lot for the clarification, but for example how can show the progress bar with REACT?

Here from line 96: s3up-meta/uploadFile.js at master · activitree/s3up-meta · GitHub

@kheireddine Are you using minio to get local S3? I am currently trying it, and it seems to work well. I couldn’t get Localstack to work properly

Actually you can use S3 SDK to use the services of Minio, besides that, the S3 SDK cover all Minio’s functionalities. Using Slingshot is not great solution. for that reason, I had to use the S3 SDK

This image is about the settings of local environment