我想让我的base64视频数据保存到Parse.com。我对图像使用相同的技术,并且工作正常,但由于某些原因,视频不会保存。我一直在尝试调试这个问题数周,但没有成功。我基本上是复制的技术/代码后,我不得不图片以这种方式工作......使用Base64我想这将是更多或更少的工作一样...将Base64视频上传到Parse.com - Javascript
我的视频数据是这样的:
data:video/3gpp;base64,AAAAGGZ0eXAzZ3A0AAAAAGlzb2.....
正在保存的视频只有〜56kb - 〜1mb。保存到Parse.com,其中有10mb的文件限制。我检查了我的数据,一切都似乎是正确的,正确的,直到我试图将文件保存到Parse.com,这回吐出一个错误400
POST https://api.parse.com/1/files/myVideo.3gp 400 (Bad Request)
与此相伴在我XHR响应:
{"code":107,"error":"base64 field cannot be decoded"}
任何人有任何见解,为什么它可能无法正常工作:
var videoFile = new Parse.File('myVideo.3gp', {
base64: _params.videoData
});
// save the parse file
videoFile
.save({
success: function(resp) {
window.ERROR = "Success: " + resp;
},
error: function(e, r) {
window.ERROR = "Error: " + e + " : " + r;
}
})
.then(function() {
_params.videoData = null;
// create object to hold caption and file reference
var videoObject = new ImageObject();
// set object properties
videoObject.set('title', _params.title);
videoObject.set('user', Parse.User.current());
videoObject.set('img', videoFile);
if (_params.location !== undefined) {
videoObject.set('location', new Parse.GeoPoint(_params.location.latitude, _params.location.longitude));
}
// save object to parse backend
videoObject
.save()
.then(function(resp) {
console.log('Posted Video', resp);
// Add User QtdPhoto
defer.resolve(resp);
});
}, function(error) {
console.log('Error', error);
defer.reject(error);
});
“由于某种原因未保存”表明您没有进行太多调试(如果有的话)。你应该。而且,是的,它可能与图片相同,除了视频更大,base64编码将使它们更大。如果浏览器没有崩溃,您可能会遇到服务器端限制。 –
比较文档https://parse.com/docs/js/api/classes/Parse.File.html到您提供给File构造函数的内容。你的数据属性似乎不匹配文档。 –
你还可以在这里添加'_params'的值吗? – Uzbekjon