首页 > 解决方案 > 如何从android中的外部存储上传文件?

问题描述

我正在使用 Retrofit 从 android 向服务器发送请求。我在上传驻留在手机外部存储中的文件时遇到问题。所有其他文件都正确。

这是我的代码:

//uri = content://com.android.externalstorage.documents/document/
                       9016-4EF8%3ADCIM%2FCamera%2FVidMerge1503671676945.mp4   

String  filepath = Environment.getExternalStorageDirectory() 
                             + File.separator 
                             + uri.getPath().split(":")[1];

//uri.getPath() = /document/9016-4EF8:DCIM/Camera/VidMerge1503671676945.mp4
//filepath = /storage/emulated/0/DCIM/Camera/VidMerge1503671676945.mp4

File file = new File(filepath);
RequestBody requestFile = RequestBody.create(MediaType.parse("*/*"), file);
MultipartBody.Part fileToUpload = MultipartBody.Part.createFormData("files", file.getName(), requestFile);

//here I got fileNotFound Exception

如何正确获取此文件?

标签: androidretrofitandroid-external-storage

解决方案


推荐阅读