             return defer.promise
 
 
-        _uploadS3: ({ file, filename, destFolder, signedUrl, uploadMethod, uploadUrl }) ->
-            return @_uploadS3BySignedUrl file, uploadUrl if signedUrl
+        _uploadS3: ({ file, filename, destFolder, signedUrl, uploadMethod, uploadUrl, cacheControl }) ->
+            return @_uploadS3BySignedUrl file, uploadUrl, cacheControl if signedUrl
 
             defer = $q.defer()
             awsS3 = @awscredentials

            _prefixRand = "#{ Math.floor(Math.random() * 10000) }-#{ Date.now() }"
            return "#{ _prefixRand }-#{ name }"

        _upload: ({ file, filename, destFolder, uploadUrl, uploadMethod, signedUrl }) ->
            @_disabled = true

            func = if @awscredentials or signedUrl then '_uploadS3' else '_uploadWorker'

            fileParams =
                Key: filename
                ContentType: file.type
                CacheControl: cacheControl
                Body: file
                ACL: "public-read"

