Как назначить каталог по умолчанию для каждого изображения, хранящегося в Amazon S3?
Каждое изображение, выбранное пользователем, будет храниться в Amazon S3, это мой код
key: function ( file ) {
var user = Meteor.users.findOne( this.userId );
return user.emails[0].address + "/screenshots" + "/" + file.name;
}
Основываясь на моем коде, изображение будет сохранено в почтовом каталоге пользователя, затем в папке со скриншотами, а затем в имени файла. проблема в том, что пользователь хотел сохранить два изображения с одинаковыми именами. Последняя картинка перезапишет первую.
я попробовал это решение
key: function ( file ) {
var today = new Date();
var user = Meteor.users.findOne( this.userId );
return user.emails[0].address + "/screenshots" + "/" + today + file.name;
}
это не сработало, потому что у текущей даты есть пробелы, поэтому я не могу загрузить изображение позже в клиенте из-за пробелов.
Любая идея о том, как я могу дать каждому изображению уникальное имя? без пробелов?
1 ответ
Вы можете сгенерировать случайную шестнадцатеричную строку для каждого:
key: function ( file ) {
var unique = Random.hexString(16);;
var user = Meteor.users.findOne( this.userId );
return user.emails[0].address + "/screenshots" + "/" + unique + file.name;
}
Random должен быть частью набора пакетов по умолчанию, который вы получаете при создании проекта Meteor.