Uri 轉爲 File (順帶記下Retrofit上傳文件)

Uri 轉爲 File

           //uri轉爲file
            Uri uri; //獲取到的uri
            String[] arr = {MediaStore.Images.Media.DATA};
            Cursor cursor = getContentResolver().query(uri, arr, null, null, null);
            if (cursor != null) {
                int img_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                cursor.moveToFirst();
                String img_path = cursor.getString(img_index);
                File file = new File(img_path); //得到的File
                cursor.close(); //釋放資源
            } else {
                ToastUtils.showShort("cursor: null");
            }

Retrofit上傳文件

         
        File imgFile;//模擬的File文件
        /**
        *  下面兩步把File轉爲了MultipartBody.Part,才能使用retrofit上傳
        *  MultipartBody.Part.createFormData()的一參:"file"是後臺指定的key
        **/
        RequestBody photoRequestBody = RequestBody.create(MediaType.parse("image/*"), imgFile);
        MultipartBody.Part userImage = MultipartBody.Part.createFormData("file", imgFile.getName(), photoRequestBody);
       
        //使用retrofit上傳文件
        RetrofitUtils.getInstance().getApiServier(IMapService.class)
                .fileUpload(userImage, UserUtil.getUserToken())
                ...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章