I am generating in server side a pre-signed URL request with the following parameters for GeneratePresignedUrlRequest : bucket
, key
, expiration = in 1 hour
and method = PUT
.
In my Angular app, I am uploading the file using ng-file-upload
Upload.http({
url: $scope.signedUrl,
method: "PUT",
headers : {
'Content-Type': $scope.file.type
},
data: $scope.file
});
The problem is that I always have a 403
response unless I set the type of the file in GeneratePresignedUrlRequest.contentType
.
The problem is that I can't predict in advance what type of file the user will choose (image/png
, image/jpeg
, text/plain
...).
How can I generate a pre-signed url that accept all kinds of content-type
? I tried setting it to null, it keeps sending 403 errors.
Thanks.