#android #file-upload #uri
#Android #загрузка файла #uri
Вопрос:
Создайте Uri для файла, бит, который не может отправить данные
Я использую этот метод
if(requestCode == VIDEO){
image.setVisibility(View.GONE);
previewImageView.setVisibility(View.VISIBLE);
//video.setVisibility(View.VISIBLE);
contentURI = data.getData();
videoPath = getPath(getApplicationContext(),contentURI);
Glide.with(this).load(contentURI).into(previewImageView);
video.setVideoURI(contentURI);
video.requestFocus();
//video.start();
MediaController mc= new MediaController(UploadActivity.this);
video.setMediaController(mc);
check_video = "ok";
}
public String getPath(Uri uri) {
String[] projection = { MediaStore.Video.Media.DATA };
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
if (cursor != null) {
// HERE YOU WILL GET A NULLPOINTER IF CURSOR IS NULL
// THIS CAN BE, IF YOU USED OI FILE MANAGER FOR PICKING THE MEDIA
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
} else
return null;
}
Я могу получить значение uri
Нравится
содержимое://com.google.android.apps.docs.storage/document/acc=1;doc=135
затем при использовании нажмите отправить данные, я получил код ошибки.
File videofile = new File(contentURI.getPath());
Uri videouri = Uri.fromFile(videofile);
uploadFile(videouri);
private void uploadFile(Uri videoPath) {
// Map is used to multipart the file using okhttp3.RequestBody
Map<String, RequestBody> map = new HashMap<>();
File file = new File(videoPath);
// Parsing any Media type file
RequestBody requestBody = RequestBody.create(MediaType.parse("*/*"), file);
map.put("file"; filename="" file.getName() """, requestBody);
ApiConfig getResponse = AppConfig.getApiClient().create(ApiConfig.class);
Call<ServerResponse> call = getResponse.upload("token", map);
код ошибки
проблема с загрузкой видеофайла:/document/acc=1;doc%sD135 (такого файла или каталога нет)
Комментарии:
1. Вы хотите загрузить видео или просто выбрать video и получить его путь
2. @SarveshHon Дорогой, я хочу загрузить видео, когда пользователь нажимает кнопку отправки. Поэтому, когда пользователь нажимает кнопку отправки, он запускает процесс uploadFile ().
3. Используйте полный uri для загрузки вашего файла. Не часть пути. И не используйте класс File.