Phonegap archivo android a base64 fuera de error de memoria
Estoy intentando conseguir un archivo video en androide, lo convierto a la codificación de base64 y lo subo.
Cuando el archivo es más grande que 5Mb
, salgo de error de memoria en android , pero ios convertir archivos grandes también. Sólo en android tengo este error ….
- ¿Está desarrollando una aplicación android / phonegap con Netbeans IDE un buen método?
- Acceder a la cuenta de Google de Android y al nombre de usuario a través de phonegap?
- Selector de fecha y hora que no se muestra en la aplicación Android 4.1.2
- PhoneGap / Android - Bloqueo de la orientación al retrato
- Error de la aplicación: la conexión al servidor no tuvo éxito. (Archivo: ///android_asset/www/index.html)
Este es mi código:
var reader = new FileReader(); reader.onload = function(evt1) {}, reader.onloadend = function(evt) { console.log("read success"); console.log(evt.target.result); }; reader.readAsDataURL(file);
- ¿Cómo puedo actualizar archivos de activos (js css images) en phonegap android app sin actualizar mi aplicación en play / app store
- Android Splash Screen no funciona con Cordova 5.0.0
- No se puede construir un proyecto androide gradle - para un proyecto cordova
- En OSX, el android sdk no puede encontrar sdkmanager.jar - path parece estar correctamente configurado
- ¿Cómo desarrollar una interfaz de usuario que se verá nativa de Android con jQuery-mobile?
- Android debuggable = false haciendo que jQuery.ajax POST falle en el proyecto Cordova / Phonegap Eclipse
- LocalStorage no se persiste en la aplicación híbrida en Android M42
- Phonegap + Jquery móvil en Android: varias páginas HTML Javascript no funciona
-
Debe tener en cuenta que los datos codificados en base64 serán aproximadamente un 37% más grandes que el tamaño de los datos originales. Teniendo en cuenta que se trata de archivos grandes y la base64 de codificación causas fuera de los errores de memoria, no codificar con base64.
-
No es una buena idea leer archivos grandes a la vez. En su lugar, recomiendo la transmisión de su archivo en el servidor. Con este enfoque, el archivo será leído y transferido en trozos, evitando errores de memoria y evitando retrasos en los dispositivos más lentos. Puede hacerlo, por ejemplo, utilizando el objeto
FileTransfer
conchunkedMode
habilitado enFileUploadOptions
.
Enfoque recomendado (adaptado de la documentación ):
// !! Assumes variable fileURI contains a valid URI to a H.264/AVC video on the device var win = function (r) { console.log("Code = " + r.responseCode); console.log("Response = " + r.response); console.log("Sent = " + r.bytesSent); } var fail = function (error) { alert("An error has occurred: Code = " + error.code); console.log("upload error source " + error.source); console.log("upload error target " + error.target); } var options = new FileUploadOptions(); options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1); options.mimeType = "video/avc"; //change to the according mimeType options.chunkedMode = true; //upload the data in chunked streaming mode (true by default) var ft = new FileTransfer(); ft.upload(fileURI, encodeURI("http://some.server.com/upload.php"), win, fail, options);
crear el archivo php.ini en el lado del servidor y agregar el siguiente código. Puede aumentar upload_max_filesize
register_globals = on
display_errors = Desactivado
error_reporting = E_ALL & E_NOTICE & E_WARNING & E_DEPRECATED
upload_max_filesize = 50M
memory_limit = 500M
max_execution_time = 1800
post_max_size = 120M
session.gc_maxlifetime = 86400
error_log = /var/log/php-scripts.log
#safe_mode = Desactivado #safe_mode_exec_dir = "storage_dir_path" #open_basedir = "storage_dir_path"
- ¿Cómo replicar el botón de acción flotante Inbox (con texto para cada botón secundario)?
- Creando el menú de opciones android fondo de la página en android