簡體   English   中英

從內容URI獲取文件路徑

[英]Get file path from content URI

我一次可以執行此操作,但是現在每次嘗試獲取文件路徑都失敗。 我正在從Acrobat Reader接收文件,並且可以接收文件名和大小,但不能接收相對文件路徑。

我的代碼如下所示:

if(uri.getScheme().equals("content"))
        {
            String[] dataFields = new String[]{
                    MediaStore.MediaColumns.DATA,
                    OpenableColumns.DISPLAY_NAME,
                    OpenableColumns.SIZE};
        Cursor cursor = context.getContentResolver().query(uri, dataFields, null, null, null);
        cursor.moveToFirst();

        fileLocation = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));
        title = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
        size = cursor.getInt(cursor.getColumnIndex(OpenableColumns.SIZE));

        cursor.close();

        contentType = context.getContentResolver().getType(uri);
    }

我在LogCat中收到以下錯誤:

Failed to read row 0, column -1 from a CursorWindow which has 1 rows, 2 columns.

我了解它,因為找不到列。 但是,我不知道這怎么可能?

Uri不是文件 不需要Uri來自MediaStore或以其他方式具有MediaStore.MediaColumns.DATA列。 如果要訪問Uri表示的內容,請在ContentResolver上使用openInputStream()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM