Spanish Problema con archivo-directorio

benji

Active Member
Licensed User
Longtime User
buenas tardes a todos, desde ayer me vengo dando cabezazos con esto....
estoy tomando una foto la que se almacena con un código, y luego pretendo mostrar esta imagen, ya sea en un panel, o en un imageview, y visto muchos tutoriales del foro, y no veo mi error
se cae en el LoadBitmapSample, porque no encuentra el archivo...
la app ya tienes sus años, y ahora se estamos actualizando una funcionalidad, por eso estamos usando librerias "mas viejas"...

Guarda archivo:
Sub Camera1_PictureTaken (Data() As Byte)
    Dim filename As String = AuxId & ".jpg"
    Dim dir As String = File.DirRootExternal
    'Dim dir As String = File.DirAssets
    
    camEx.SavePictureToFile(Data, dir, filename)
    camEx.StartPreview 'restart preview
    
    'send a broadcast intent to the media scanner to force it to scan the saved file.
    Dim Phone As Phone
    Dim i As Intent
    i.Initialize("android.intent.action.MEDIA_SCANNER_SCAN_FILE", _
        "file://" & File.Combine(dir, filename))
    Phone.SendBroadcastIntent(i)
    ToastMessageShow("Picture saved." & CRLF  & "File size: " & File.Size(dir, filename), True)
End Sub

Carga imagen:
Private Sub btnGrabar_Click
    'TOMAR FOTO
    Dim foto As String
    
    Dim filename As String = AuxId & ".jpg"
    Dim dir As String = File.DirRootExternal
    'Dim dir As String = File.DirAssets
    camEx.TakePicture
    'Dim bd As BitmapDrawable
    'bd.Initialize(LoadBitmap(File.DirAssets, AuxId & ".jpg"))
    'bd.Gravity = Gravity.FILL
    'Panel1.Background = bd
    
        
    'ImageView1.Bitmap = LoadBitmapResize(File.DirRootExternal, AuxId & ".png", ImageView1.Width, ImageView1.Height, True)
    ImageView1.Bitmap = LoadBitmapSample(dir, filename, ImageView1.Width, ImageView1.Height)
    ImageView1.Gravity = Gravity.CENTER
    


End Sub

el File.DirRootExternal lo he usado durante años para almacenar las BD locales que uso, y nunca tuve problemas... hasta ahora :(

alguien ve el error?
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
me imagino que te falta los permisos:
 

benji

Active Member
Licensed User
Longtime User
me imagino que te falta los permisos:

Gracias, pero tengo los permisos en el Main...
aunque incluso agregando rp.CheckAndRequest(rp.PERMISSION_READ_EXTERNAL_STORAGE) en el parrafo de lectura, tampoco encuentra el archivo.
la foto se graba sin problemas en el directorio, el problema esta cuando la voy a buscar
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
Por lo que veo es un problema muy común

Revisa los siguientes temas:

Y este:
 

josejad

Expert
Licensed User
Longtime User
el File.DirRootExternal lo he usado durante años para almacenar las BD locales que uso, y nunca tuve problemas... hasta ahora
Hola, es que Android ahora es mucho más restrictivo que hace unos años. ¿Tienes necesidad de guardarla en el almacenamiento externo? Si no, te sería mucho más fácil guardarla en File.DirInternal, que, según Erel, debería ser la carpeta por defecto para la mayoría de los accesos.
Otra opción es usar RuntimePermissions.GetSafeDirDefaultExternal. Echa un vistazo al tutorial Runtime Permissions, al final del tutorial te habla de esto.

saludos,
 

benji

Active Member
Licensed User
Longtime User
Muchas gracias por las ayudas, pero en realidad no era nada de eso... :(

el problema era que desde el momento que se toma la fotografía, no pasaba el tiempo suficiente para insertarla en el imageview(o donde sea), cuando trataba de cargarla el archivo todavía no se creaba, y por eso decía que no existía.
 
Top