私はBase64ビデオデータをParse.comに保存しようとしています。私は同じテクニックを画像に使用していますが、問題なく動作しますが、ビデオは何らかの理由で保存されません。私は成功していないこの問題を数週間デバッグしようとしてきました。Base64ビデオをParse.comにアップロード - Javascript
data:video/3gpp;base64,AAAAGGZ0eXAzZ3A0AAAAAGlzb2.....
:私はこの方法を働いた画像を持っていた後、私は基本的に
マイビデオデータは次のようになります...私はそれが多かれ少なかれ仕事と同じだろう考え出しBASE64を使用して...技術/コードをコピー
保存されるビデオは〜56kb〜〜1mbです。ファイルサイズが10MBのParse.comに保存しています。私は私のデータをチェックしましたし、すべてが右のようで、右の私はParse.comにファイルを保存しようとするまで、私のXHRレスポンスでこれに伴ってエラー400
POST https://api.parse.com/1/files/myVideo.3gp 400 (Bad Request)
をバック吐くた:
それが動作していない可能性がなぜ{"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のドキュメントを比較します。データプロパティがドキュメントと一致していないようです。 –
'_params'の値をここに追加できますか? – Uzbekjon