Вы правы - если у вас настроен S3, вы получите 2 файла, если вы выберете pick(), а затем сохраните().
Файл, созданный pick(), будет находиться на корневом уровне вашей корзины S3.
Я не нашел способа избежать этого, поэтому я использовал pick(), store() и remove() - так как это асинхронные функции, вам нужно их вложить или (лучше) использовать управление потоком по вашему выбору.
Если вам не нужно ничего делать между pick() и store(), вы можете сделать pickAndStore(), если вам нужна информация из вызова pick() перед выполнением запроса store(), перейдите к примеру ниже:
var file;
// authenticate
filepicker.setKey('YOUR_API_KEY');
// pick
filepicker.pick({
container : 'modal',
debug : false,
extensions : ['.png', '.jpg', '.jpeg', '.gif'],
folders : false,
language : 'en',
maxFiles : 1,
maxSize : '2560*1600',
multiple : false,
openTo : 'COMPUTER',
services : [
'BOX',
'COMPUTER'
]
}, function(res) {
// save blob, to remove it later
file = res;
// store
filepicker.store(file, {
access : 'public',
container : 'YOUR_BUCKET',
location : 'S3',
path : 'SOME_FOLDER/ANOTHER_FOLDER/FILENAME.png'
}, function(res) {
// remove
filepicker.remove(file, function() {
console.log('ok')
});
});
});
person
ezmilhouse
schedule
27.03.2015