Cómo subir un archivo de audio a Parse.com – Android

Tengo una ruta de acceso de un archivo que quiero subir a Parse.com.

Por ejemplo, una de las rutas de acceso de archivo es: "/storage/emulated/0/app100/2015-06-04_00:45:16_RecordSound.3gp"

Ahora, quiero subirlo a Parse.com. Cualquier solución de cómo hacerlo?

He intentado escribir un método para esto, pero no funciona:

private ParseObject uploadAudioToParse(File audioFile, ParseObject po, String columnName){ if(audioFile != null){ Log.d("EB", "audioFile is not NULL: " + audioFile.toString()); ByteArrayOutputStream out = new ByteArrayOutputStream(); BufferedInputStream in = null; try { in = new BufferedInputStream(new FileInputStream(audioFile)); } catch (FileNotFoundException e) { e.printStackTrace(); } int read; byte[] buff = new byte[1024]; try { while ((read = in.read(buff)) > 0) { out.write(buff, 0, read); } } catch (IOException e) { e.printStackTrace(); } try { out.flush(); } catch (IOException e) { e.printStackTrace(); } byte[] audioBytes = out.toByteArray(); // Create the ParseFile ParseFile file = new ParseFile(audioFile.getName() , audioBytes); // Upload the file into Parse Cloud file.saveInBackground(); po.put(columnName, file); } return po; } 

¡Gracias!

Pruebe lo siguiente:

 private ParseObject uploadAudioToParse(File audioFile, ParseObject po, String columnName){ if(audioFile != null){ Log.d("EB", "audioFile is not NULL: " + audioFile.toString()); ByteArrayOutputStream out = new ByteArrayOutputStream(); BufferedInputStream in = null; try { in = new BufferedInputStream(new FileInputStream(audioFile)); } catch (FileNotFoundException e) { e.printStackTrace(); } int read; byte[] buff = new byte[1024]; try { while ((read = in.read(buff)) > 0) { out.write(buff, 0, read); } } catch (IOException e) { e.printStackTrace(); } try { out.flush(); } catch (IOException e) { e.printStackTrace(); } byte[] audioBytes = out.toByteArray(); // Create the ParseFile ParseFile file = new ParseFile(audioFile.getName() , audioBytes); po.put(columnName, file); // Upload the file into Parse Cloud file.saveInBackground(); po.saveInBackground(); } return po; 

}

Ponga primero el objeto en el ParseObject y guarde el archivo. Además, he añadido guardar el ParseObject también (po.saveInBackground ()). Desde que modificaste po, tienes que guardarlo también. Tal vez lo hizo fuera del método, pero el código que enlazó no muestra esto.

También, tal vez intente hacer esto en AsyncTask y llamando a save () en su lugar, para asegurarse de que cada paso funciona (si se guarda o algo sale mal, cancele la tarea), o use el SaveCallback k proporcionado como sigue: ParseObject.saveInBackground (Devolución de llamada de SaveCallback); y en el método done llamar a la guardar en el objeto PO una vez que el ParseFile se guarda con éxito.

Nota: hay un límite de tamaño de ParseFile de 10mb, por lo que si el archivo de audio es mayor que esto, habrá un problema.

  • Parse.com obtener valor con la consulta
  • Java.lang.NoClassDefFoundError: com.parse.Parse
  • Obtención de datos de Id de objeto en Parse.com
  • ParseObject pinInBackground devolver null objectId
  • Parse.com, Parse SDK descarga NO Archivo Parse-1.10.3.jar en el SDK
  • Android, guardar archivos en modo offline (parse.com)
  • Manera correcta de extender ParseObject y tener una fábrica de consultas genéricas
  • ¿Es posible crear un objeto Parse desde JSON
  • Subclase de JavaScript en Parse.com
  • ¿Cómo obtengo las Notificaciones Push de Parse.com trabajando en una aplicación para Android de Cordova / Phonegap?
  • Parse.com runtime crash - android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.