跳转至

Android OkHttp Retrofit 上传文件

更新日期:2023-3-9
  • 2023-3-9 更新格式

单文件上传,无参数的情况

服务接口编写

1
2
3
4
5
6
/**
 * 上传文件
 */
@Multipart
@POST("applog/upload")
Observable<UploadFileResp> uploadFile(@Part MultipartBody.Part file);

构建MultipartBody.Part

1
2
3
4
5
File f = new File("aa.txt");
RequestBody requestBody =
        RequestBody.create(MediaType.parse("multipart/form-data"), f);
MultipartBody.Part part =
        MultipartBody.Part.createFormData("file", f.getName(), requestBody);

子线程中调用上传

commonService.uploadFile(part).subscribe(new Observer<UploadFileResp>() {
    @Override
    public void onSubscribe(Disposable d) {

    }

    @Override
    public void onNext(UploadFileResp resp) {
        if (resp.getCode() == RESP_GOOD_CODE) {
            boolean r = f.delete();
            LL.dn(TAG, r + " 上传log成功 : " + f.getName());

        }
    }

    @Override
    public void onError(Throwable e) {
        Log.e(TAG, "上传log文件 [" + f + "] onError: ", e);
        LL.en(TAG, e.getMessage());
    }

    @Override
    public void onComplete() {

    }
});

参考


OkHttp系列


本站说明

一起在知识的海洋里呛水吧。广告内容与本站无关。如果喜欢本站内容,欢迎投喂作者,谢谢支持服务器。如有疑问和建议,欢迎在下方评论~

📖AndroidTutorial 📚AndroidTutorial 🙋反馈问题 🔥最近更新 🍪投喂作者

Ads