如果我使用我的設備錄製短於10秒的視頻並將其上傳到我的Parse數據庫,那麼Parse Server Android SDK有一個奇怪的問題,它工作正常。 視頻文件超過10秒時給我這個錯誤消息:無法上傳超過10秒的視頻文件 - 無法對未保存的ParseFile進行編碼
java.lang.IllegalStateException:無法編碼未保存ParseFile
這裏是我的代碼:
// Create ParseObject
final ParseObject vObj = new ParseObject(Configs.VIDEOS_CLASS_NAME);
pd.setMessage("Please wait until your video is uploading...");
pd.show();
vObj.put(Configs.VIDEOS_TITLE, titleTxt.getText().toString());
vObj.put(Configs.VIDEOS_IS_REPORTED, false);
vObj.put(Configs.VIDEOS_COLOR, colorNr);
vObj.put(Configs.VIDEOS_VIEWS, 0);
vObj.put(Configs.VIDEOS_USER_POINTER, ParseUser.getCurrentUser());
vObj.put(Configs.VIDEOS_CATEGORY, selectedCategory);
// Saving block
vObj.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
Log.i("log-", "DATA SAVED! - SAVING THUMBNAIL...");
// Get video thumbnail Bitmap and save it
try { thumbnailBm = BitmapFactory.decodeStream(SubmitVideo.this.openFileInput("imagePassed"));
Log.i("log-", "THUMBNAIL BITMAP: " + thumbnailBm);
// Save video thumbnail
ByteArrayOutputStream st = new ByteArrayOutputStream();
thumbnailBm.compress(Bitmap.CompressFormat.JPEG, 50, st);
byte[] byteArr = st.toByteArray();
ParseFile thumbFile = new ParseFile("thumb.jpg", byteArr);
vObj.put(Configs.VIDEOS_THUMBNAIL, thumbFile);
vObj.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if(e == null) {
Log.i("log-", "THUMBNAIL SAVED! - SAVING VIDEO...");
// Save video
if (videoURI != null) {
ParseFile videoFile = new ParseFile("video.mp4", convertVideoToBytes(videoURI));
vObj.put(Configs.VIDEOS_VIDEO, videoFile);
Log.i("log-", "VIDEO URI TO SUBMIT: " + videoURI);
vObj.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
pd.dismiss();
Log.i("log-", "SUCCESS! ");
// error on saving
} else {
Configs.simpleAlert(e.getMessage(), SubmitVideo.this);
pd.dismiss();
}}});
}
// error on saving
} else {
Configs.simpleAlert(e.getMessage(), SubmitVideo.this);
pd.dismiss();
}}});
} catch (FileNotFoundException err) { err.printStackTrace(); }
// error on saving
} else {
Configs.simpleAlert(e.getMessage(), SubmitVideo.this);
pd.dismiss();
}}});
任何人知道爲什麼發生? 謝謝!
感謝您的回答,不幸的是我沒有知道nginx是什麼...如果你的意思是這樣的話:https://www.nginx.com/resources/wiki/不,我沒用它 – cubycode
你能改變你的服務器配置嗎?我認爲最大的默認大小是20mb –
似乎Android的解析SDK沒有文件大小限制了:https://github.com/parse-community/Parse-SDK-Android/pull/462/files – cubycode