Primer error:
if (File.Exists())
El sistema de archivos es volátil, y por lo tanto el acceso a su archivo puede cambiar en el medio de la línea con su estado y si la línea siguiente. No solo eso, sino que File.Exists() puede devolver cierto, pero FileStream aún puede lanzar una excepción si no tiene permisos de seguridad en el archivo o si ya está bloqueado.
En cambio, la forma correcta de manejar esto es con un bloque try/catch. Dedique su tiempo de desarrollo al manejador de excepciones en su lugar, porque de todos modos tiene que escribir ese código.
segundo error:
fs.Close();
Esta línea debe estar dentro de un bloque finally, o tiene el potencial de dejar de archivo abierto por ahí. Normalmente recomiendo un bloque using
para asegurar este tipo de recursos está dispuesto correctamente, pero puesto que ya necesita el try/catch, se puede usar un código como este en su lugar:
Image img = null;
FileStream fs = null;
try
{
fs = new FileStream(photoURI, FileMode.Open, FileAccess.Read);
img = Image.FromStream(fs);
}
finally
{
fs.Close();
}
¿Quizás la imagen es demasiado grande? ¿Qué trataste de cargar? – schnaader
una imagen, es solo 156KB – xscape
¿Estás abriendo otras imágenes? ¿Qué formato de imagen? – JoshD