Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法上载10+;第二个视频文件-无法对未保存的文件进行编码_Java_Android_Xml_Parse Platform - Fatal编程技术网

Java 无法上载10+;第二个视频文件-无法对未保存的文件进行编码

Java 无法上载10+;第二个视频文件-无法对未保存的文件进行编码,java,android,xml,parse-platform,Java,Android,Xml,Parse Platform,我在解析服务器Android SDK上遇到了一个奇怪的问题,如果我用我的设备录制了一段不到10秒的视频并将其上传到解析数据库,它就可以正常工作。 超过10秒的视频文件显示以下错误消息: java.lang.IllegalStateException:无法对未保存的解析文件进行编码 这是我的密码: // Create ParseObject final ParseObject vObj = new ParseObject(Configs.VIDEOS_CLASS_NAME);

我在解析服务器Android SDK上遇到了一个奇怪的问题,如果我用我的设备录制了一段不到10秒的视频并将其上传到解析数据库,它就可以正常工作。 超过10秒的视频文件显示以下错误消息:

java.lang.IllegalStateException:无法对未保存的解析文件进行编码

这是我的密码:

 // 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();
          }}});
有人知道为什么会这样吗?
谢谢

视频可能太大,无法一次性上传。 您应该使用多部分。。我在上传高分辨率图像时遇到了同样的问题。。 修改此视频代码

var api = new ParseServer({
...
    maxUploadSize: "300mb"
...});
您可能需要更改nginx/apache配置以允许它


nginx上方:
client_max_body_size 300M

谢谢,问题是我不使用PHP/MySQL,而是解析服务器SDK,所以我不认为我可以在这种情况下使用多部分代码片段…你在使用nginx吗?我不知道nginx是什么,对不起。。。如果你的意思是:不,我没有使用它谢谢你的回答,不幸的是我不知道nginx是什么…如果你的意思是:不,我没有使用它你能改变你的服务器配置吗?我认为最大默认大小是20mbIt,似乎Android的Parse SDK不再有文件大小限制:No Parse SDK No,但您的服务器是:maxUploadSize-上传的最大文件大小。默认值为20 MB。好的,因为我使用的是back4app上托管的Parse Server,所以免费帐户上似乎有一个文件大小限制,相应地如下链接: