Des problèmes de lecture de inputStream à partir d'un Uri et de l'envoyer par un outputStream android

Bonne journée, j'essaie d'envoyer un fichier à partir d'un SDCard par le biais d'un OutputStream. J'ai l'intention d'obtenir le URI partir du nom de fichier que j'ai et ensuite utiliser un InputStream lire la URI et convertir des octets dans d'autres à envoyer. Actuellement, le code est coincé dans InputStream (Comme indiqué ci-dessous) et rien ne se passe.

Aussi, je ne sais pas si je suis en utilisant le URI correctement pour obtenir le chemin d'accès réel le fichier à envoyer.

S'il vous plaît, toute aide sera grandement appréciée parce que j'ai été coincé ici pour un certain temps maintenant. Je vous remercie.

Mon code:

public void sendFile() {
    Log.d(TAG, "sending data");
    InputStream inputStream = null;
    String filePath = Environment.getExternalStorageDirectory()
          .toString() + "/" + files.get(0);
    Log.d(TAG, "filepath is" + filePath);

    Uri uri = Uri.parse(filePath);

    Log.d(TAG, "obtained input stream here in Activity");
    Log.d(TAG, "Uri here is" + uri);  //nothing happens after here, Basically stuck!!
    try {
        inputStream = getContentResolver().openInputStream(uri);
        ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
        Log.d(TAG, "obtained input stream here in Activity");

        int buffersize = 1024;
        byte[] buffer = new byte[buffersize];

        int len = 0;
        while ((len = inputStream.read(buffer)) != -1) {
            byteBuffer.write(buffer, 0, len);
        }

        AppServices.write(byteBuffer.toByteArray());

    } catch (IOException e) {
        e.printStackTrace();
    }
    finally {
        if (inputStream != null) {
            try {
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

OriginalL'auteur irobotxxx | 2012-01-05