hegaojian / JetpackMvvm

:chicken::basketball:一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
https://github.com/hegaojian/JetpackMvvm
Apache License 2.0
3.1k stars 605 forks source link

请问下,网络请求上传图片文件这些怎么写 #129

Open edcedc opened 1 year ago

edcedc commented 1 year ago

可以求个方法吗

hegaojian commented 1 year ago

这个库的网络请求框架用的是Retrofit,你可以去搜一下Retrofit上传图片的相关代码,以下我放个ChatGPT提供的示例:

@Multipart
    @POST("upload")
    Call<ResponseBody> uploadImage(@Part MultipartBody.Part image);
File file = new File("path/to/image.jpg");
RequestBody requestBody = RequestBody.create(MediaType.parse("image/jpeg"), file);
MultipartBody.Part imagePart = MultipartBody.Part.createFormData("image", file.getName(), requestBody);
Call<ResponseBody> call = apiService.uploadImage(imagePart);
call.enqueue(new Callback<ResponseBody>() {
    @Override
    public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
        if (response.isSuccessful()) {
            // 上传成功
        } else {
            // 上传失败
        }
    }

    @Override
    public void onFailure(Call<ResponseBody> call, Throwable t) {
        // 请求失败
    }
});