reset plupload queue if server responds with error
rinoldsimon opened this issue · 1 comments
rinoldsimon commented
hbs
{{#pl-uploader for="upload-image" extensions="jpg jpeg" max-file-size="5000000" onfileadd="uploadImage" as |queue|}}
{{#if queue.length}}
Uploading...{{queue.progress}}%
{{else}}
<a id="upload-image">Add an Image.</a>
{{/if}}
{{/pl-uploader}}
js
uploadImage(file) {
var image = this.store.createRecord('image', {
filename: get(file, 'name'),
filesize: get(file, 'size')
});
file.read().then(function (url) {
if (get(image, 'url') == null) {
set(image, 'url', url);
}
});
file.upload('/api/images/upload').then(function (response) {
set(image, 'url', response.headers.Location);
return image.save();
}, function () {
image.rollback();
});
}
if there is any error from api side Uploading...{{queue.progress}}% in hbs is still shown. I want to reset the queue so that if there is an error the hbs view changes to else part (i.e) <a id="upload-image">Add an Image.</a>
rinoldsimon commented
can be achieved using file.destroy()
?
file.upload('/api/images/upload').then(function (response) {
set(image, 'url', response.headers.Location);
return image.save();
}, function () {
file.destroy()
image.rollback();
});