Transloadit:result event not fired - can't get s3 path

Hello,
I am using the Robodog dashboard and have setup a basic template in transloadit to store my image to s3. That all works fine but I cannot work out how get the S3 path that it has been saved to.

I can listen for the event ‘upload-success’ and even ‘transloadit:assembly-created’ which get fired correctly. However, ‘transloadit:complete’ and ‘transloadit:result’ are never fired and I think this is where I should be getting the path from for where the image has been stored to s3

Many thanks,
Matt

By default, the Transloadit plugin (and by extension Robodog) only waits for all files to be uploaded, and then stops listening for Assembly updates. You can use the waitForEncoding: true option to wait for the Assembly to complete. Then, transloadit:result and transloadit:complete will also fire.

Robodog.dashboard('.selector', {
  waitForEncoding: true,
})

It looks like the robodog docs contain some mistakes, because they actually show an example of using transloadit:result that doesn’t do this. Sorry for the trouble!

2 Likes

@goto-bus-stop thanks for your help! I now get the complete event firing (though still not a result event). However, I still can’t get the path to the image on s3 and I can’t see in the docs where it mentions this.

I can’t see how/where the s3 store robot returns the s3 path to the file. Any help would be appreciated!

Thanks,
Matt

I think the parameter to transloadit:result should have a .ssl_url property containing the S3 URL. Make sure you’re on the latest Robodog version because there was an issue with that (where Uppy would return URLs to Transloadit’s temporary storage instead of your own output storage) that was fixed only about a week ago.

1 Like

Thanks - it’s working now. The issue was as you suggested - I could only see the temporary URLs on transloadit server and not my s3 urls.

Thanks,
Matt

1 Like