Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Uploadcare: how to get uploaded file from openDialog?

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?

like image 820
Alexander Shtuchkin Avatar asked Dec 16 '13 13:12

Alexander Shtuchkin


1 Answers

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);
        });
    });
});
like image 118
Dmitry Mukhin Avatar answered Nov 28 '22 14:11

Dmitry Mukhin