android - 上传大视频文件块使用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')
}
},
现在我无法理解如何从块上传大型视频文件。请给我一些建议
解决方案
推荐阅读
- go - 在 Go 中创建一个并行单词计数器
- node.js - azure blob storage nodejs v10 - 应用程序抛出未捕获的异常并终止
- c# - Exception: DataAnalysis.Reference+<>c__DisplayClass4 is not serializable
- javascript - 有没有办法在按下按钮后更改表单两次选择(两次选择)的动作?
- reactive-programming - Spring Data Couchbase 反应式是否支持分页?
- ios - iOS App 上的 DiskCookies Crash 是什么意思?
- ios - 在单元测试中,如何以编程方式关闭系统权限对话框?
- java - Oracle UCP:何时使用 destroyConnectionPool 与 stopConnectionPool
- radio-button - 重力形式 - 带有单独描述的单选按钮
- css - 我无法使文本溢出来工作索引 div 容器