Как загрузить видео на сервер (Android)?

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

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

Ошибка ничего не делает с android, я думаю, вам следует проверить код server / php.

Tenten Ponce 05.09.2018 08:15

спросите у вас backend разработчик.

Nouman Ch 05.09.2018 08:17

@NoumanCh Он в отпуске ((я думаю, может быть, мне нужно добавить мой map к ключу data в инструкции все патамы в ключе data

r1299597 05.09.2018 09:10

на сервере он разбирает как этот request[data][players]

r1299597 06.09.2018 10:43
Laravel выгрузка файлов
Laravel выгрузка файлов
Загрузка файлов - распространенная функция в веб-приложениях, и Laravel позволяет очень просто работать с загрузкой файлов. В этой статье мы...
0
4
37
0

Другие вопросы по теме