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"
- Trabajo en segundo plano utilizando el servidor de análisis y Heroku Scheduler
- Productos de Android Gradle con notificaciones de Parse Push
- Cómo guardar notificaciones push de analizar por SharedPreferences
- Android parse push notificación y nuevo GCM generar token de dispositivo equivocado y analizar notificación push no funciona
- Android Parse Presione el registro de dispositivo de notificación sólo una vez en un dispositivo
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!
- Problema Eliminación de una clase / columna de Parse
- ¿Puedo enlazar a una persona con twitter y facebook en parse?
- Force Parse Push Notifications para usar PPNS en lugar de GCM
- Java.util.ConcurrentModificationException al realizar Parse.initialize (this
- La aplicación se bloquea si la aplicación se cierra mediante el servicio Push: parse.com
- Android: la adición de vistas a las imágenes no se actualiza - onClick
- Android ParseQueryAdapter notifyDataSetChanged no funciona
- ¿Cómo almacenar y recibir una foto de perfil en Parse.com?
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.
- Android FragmentLayout no está cargado
- Guardar sólo una instancia de cada actividad en la aplicación completa