He estado navegando por el sitio web de Nativescript y no pude encontrar una manera de obtener una imagen localmente desde mi teléfono. Si alguien sabe una forma de hacerlo tanto en Android como en iOS, me alegraría mucho.

1
Nick 20 jul. 2016 a las 11:43

2 respuestas

La mejor respuesta

En su caso, puede utilizar el file-system módulo y el código nativo para acceder al almacenamiento desde su dispositivo. puede obtener la ruta al archivo y abrirlo con la API de NativeScript file-system. Adjunto un ejemplo de muestra de cómo se puede obtener la ruta de una imagen del almacenamiento de Camera Roll . También puede revisar el artículo aquí, donde se describe lo que podría acceder desde el almacenamiento del dispositivo Android.

Mecanografiada

 import {path} from "file-system";

 var tempPicturePath = path.join(android.os.Environment.getExternalStoragePublicDirectory(android.os.Environment.DIRECTORY_DCIM).getAbsolutePath(), "20160719_155053.jpg");
    console.log("extr storage "+tempPicturePath);

Javascript

var file_system_1 = require("file-system");

var tempPicturePath = file_system_1.path.join(android.os.Environment.getExternalStoragePublicDirectory(android.os.Environment.DIRECTORY_DCIM).getAbsolutePath(), "20160719_155053.jpg");
        console.log("extr storage " + tempPicturePath);
3
Nikolay Tsonev 20 jul. 2016 a las 09:02

Nick, supongo que quieres que el usuario elija las imágenes de la galería, ¿verdad? Hago esto con este complemento nativescript:

https://www.npmjs.com/package/nativescript-imagepicker

import * as imagepicker from "nativescript-imagepicker";

let context = imagepicker.create({
    mode: "single" // use "multiple" for multiple selection
});

context
    .authorize()
    .then(function() {
        return context.present();
    })
    .then(function(selection) {
        selection.forEach(function(selected) {
            // process the selected image
        });
        list.items = selection;
    }).catch(function (e) {
        // process error
    });
1
Bruno Leitão 9 jun. 2018 a las 23:44