【发布时间】:2016-03-25 18:24:10
【问题描述】:
我正在使用 Angular 和 Firebase 开发一个 Web 应用程序。此外,我希望我的用户能够将大型视频上传到 Firebase。
但问题是,当我尝试上传大于 10485760 字节的视频时,出现以下错误:
angular.js:13294 Error: Firebase.set failed: First argument contains a string greater than 10485760 utf8 bytes in property 'posts.-KDiuigtRhbVxoAocPBb.source' ('data:video/quicktime;base64,AAAAFGZ0eXBxdCAgAAAAAH...')
这里有什么工作可以让我实现吗?
我现在拥有的东西差不多:
.html
<span class="btn btn-default btn-file">
<input type="file" accept="video/*" capture="camera" id="file-upload">
</span>
<div class="field button">
<button ng-click="createPost()" ng-hide="createMode">Post</button>
</div>
控制器
$scope.createPost = function() {
if ($scope.postVideoData) {
$scope.post.createdAt = new Date().toString();
$scope.post.source = $scope.postVideoData;
$scope.post.sourceType = "VIDEO";
}
$publisherServices.create($scope.post, user);
$location.path("/" + $routeParams.associate);
};
$publisherServices
.service('$publisherServices', function($firebaseArray, FBURL, $sharedProperties, $location, $routeParams) {
var ref = new Firebase(FBURL).child("posts");
var posts = $firebaseArray(ref);
return {
all: posts,
create: function(post, user) {
post.ownedBy = $sharedProperties.getCurrentAssociate().$id;
post.postedBy = user.uid;
//Add to firebase db
return posts.$add(post);
}
};
});
【问题讨论】:
-
您是否考虑过使用像 Amazon S3 这样的云存储服务?如果 Firebase 合理地设置了 10GB 的限制,我怀疑是否有办法将它们存储在 Firebase 中。相反,您可以将它们存储在云端,然后将视频链接存储在 Firebase 中。
-
@SunilD。实际上,它只有 10MB 的限制。 ://
-
哎呀,不知道我在想什么,10GB 的限制太高了 :) 我将我的应用程序的视频存储在 S3 中,它们的定价非常合理。您也可以使用他们的免费套餐一年。
标签: angularjs firebase angularfire