首页 > 解决方案 > 上传大视频文件块使用retrofit2 (Android)

问题描述

对不起我的英语不好。我需要将大文件上传到服务器。我为此使用retrofit2。现在我上传没有块的文件,我发送单个文件。像这样:

界面

@Multipart
@POST("/api/upload")
Observable<UploadVideoResponse> uploadVideo(@Header("Authorization") String userToken,
                                            @Part MultipartBody.Part video);

像这样我创造MultipartBody.Part video

 public static MultipartBody.Part getMultipartVideoBody(String pathVideo) {
        try {
            File videoFile = getFile(pathVideo);
            RequestBody videoBody = RequestBody.create(MediaType.parse("video/*"), videoFile);
            String fileName = videoFile.getName();
            return MultipartBody.Part.createFormData("video", fileName, videoBody);
        }catch (Exception e){
            Log.e("File ", e.getMessage());
            return null;
        }
    }

在服务器中使用laravel-chunk-upload并在前端使用块上传,如下所示:

dropzoneOptions: {
                   url: '/uploadtest',
                   dictDefaultMessage: 'Click here',
                   chunksUploaded: function (file, done) {
                       done()
                   },
                   thumbnailWidth: 150,
                   maxFilesize: 250,
                   chunking: false,
                   chunkSize: 1000000, // Bytes
                   required: true,
                   maxFiles: 1,
                   acceptedFiles: 'video/*',
                   headers: {
                       'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                   }
               },

现在我无法理解如何从块上传大型视频文件。请给我一些建议

标签: androidretrofitmultipartchunks

解决方案


推荐阅读