Я отправляю свой файл в ведро s3 через передний конец, поскольку это кажется более эффективным из того, что я читал.Как установить уникальное имя файла aws S3?
Но для некоторых из моих коллекций/схем, я не буду иметь идентификатора, для которого файл/фото связанно - как они создаются в то же время, как загрузки:
$scope.add = function(){
if($scope.file.photo){
$scope.distiller.photo = 'http://s3.amazonaws.com/whiskey-upload/distillers/'
+ ' needs to be assigned to guid or collection id'
Distillery.create($scope.distiller).then(function(res){
console.log(res);
$scope.distillers.push(res.data.distiller);
var files = $scope.file;
var filename = files.photo.$ngfName;
var type = files.type;
var folder = 'distillers/';
var query = {
files: files,
folder: folder,
filename: res.data.distiller._id,
type: type
};
Uploads.awsUpload(query).then(function(){
$scope.distiller = {};
$scope.file = {};
});
});
}
else{
Distillery.create($scope.distiller).then(function(res){
toastr.success('distillery created without photo');
$scope.distiller = {};
});
}
};
выше код не будет работать, если я не отправил обновление на aws.Upload после создания объекта ликеро-водочного завода и после того, как файл был загружен на s3.
Это не кажется эффективным.
Я мог бы создать руководство и назначить его имени файла s3, а также сохранить ссылку на объект на ликероводочном заводе. Однако это кажется взломанным.
пример Guid создатель:
function guid() {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
}
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
}
Что бы чистый способ добиться того, чего я хочу?
Вы можете посмотреть в использовании пакет как fineuploader – dkarchmer