Как загрузить видео на сервер (Android)? - PullRequest
0 голосов
/ 05 сентября 2018

Извините за мой английский. У меня есть инструкция по загрузке видео на сервер. Это выглядит так:

POST https://dev.test.one/api/videos/create
params:
data: {
   'players': '1,2,3' 
   'comment': 'Text' (> 5400)
   'file_name': ' '
   'file_full_name': ' '
    'file_name_without_storage':  ' '
    'file_type': ' '
    'file_disk': ' '
}

сервер разработчика в ближайшие несколько дней будет недоступен ( В Android я использую Retrifilt для загрузки видео, но у меня есть ошибка. Я не могу понять, это ошибка моя (на стороне Android) или это ошибка сервера (на стороне сервера)

Ниже мой код (интерфейс):

@Multipart
@POST("/api/videos/create")
Observable<UploadVideoResponse> uploadVideoTest(@Header("Authorization") String userToken,
                                                @PartMap Map<String, RequestBody> params,
                                                @Part MultipartBody.Part video
                                                );

Ниже я создаю данные:

File videoFile = getFile(pathVideo);

        Map<String, RequestBody> map = new HashMap<>();
        map.put("players", toRequestBody("101"));
        map.put("comment", toRequestBody("test comment"));
        map.put("file_name", toRequestBody(videoFile.getName()));
        map.put("file_full_name", toRequestBody("dev.test.one/storage/tmp_user_101/" + videoFile.getName()));
        map.put("file_name_without_storage", toRequestBody("dev.test.one/tmp_user_101/" + videoFile.getName()));
        map.put("file_type", toRequestBody("video-mp4"));
        map.put("file_disk", toRequestBody("s3"));

//create video data
 RequestBody videoBody = RequestBody.create(MediaType.parse("video/*"), videoFile)
MultipartBody.Part video = MultipartBody.Part.createFormData("video", videoFile.getName(), videoBody)

С сервера у меня ошибка:

 ErrorException: Invalid argument supplied for foreach() in file /var/www/vhosts/test.one/dev.test.one/app/Http/Controllers/VideoController.php on line 445
...