Uploadcare: how to get uploaded file from openDialog?

1.4k Views Asked by At

My scenario - I would like to open an upload dialog from my own button and get the uploaded file info. In Uploadcare JS version 0.12 I did the following:

$(".upload-image-button").on("click", function() {
  uploadcare.openDialog(null, {
    imagesOnly: true
  }).uploadDone(function(info) {
    setImage(info.cdnUrl);
  });
});

In 0.16 there's no more uploadDone and all it does is return a promise without any data. What should I do?

1

There are 1 best solutions below

2
On BEST ANSWER

uploadDone was never part of public API and was not mentioned in documentation, so it was removed. uploadcare.openDialog always returns promise object with selected file (or group of files for multiupload dialogs). But file is promise itself: it resolves when uploading is complete. So to access uploading info you should subscribe to file.done:

$(".upload-image-button").on("click", function() {
    uploadcare.openDialog(null, {
        imagesOnly: true
    }).done(function(file) {
        file.done(function(fileInfo) {
            setImage(fileInfo.cdnUrl);
        });
    });
});