带有Multipart Retrofit和Java Rest API的Android文件上传

问题描述

能否请您帮助我使用后端java rest api(MysqL db)上传分段改造文件。我尝试使用下面的代码,但无法正常工作。

改装零件

Activity.java

private void checkingst(File file){
   RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"),file);
   MultipartBody.Part body = MultipartBody.Part.createFormData("file",file.getName(),requestBody);

   Call<String> chkst = FarmOwnerApi.getServices().uploadFile(body);
    chkst.enqueue(new Callback<String>() {
        @Override
        public void onResponse(Call<String> call,Response<String> response) {
            if(!response.isSuccessful())
            {
                return;
            }

            Toast.makeText(getApplicationContext(),"Uploaded",Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onFailure(Call<String> call,Throwable t) {
    Toast.makeText(getApplicationContext(),"Failed",Toast.LENGTH_SHORT).show();
        }
    });
}

FarmOwnerApi.java

public static FarmOwnerService farmOwnerServices = null;
private static final String Base_URL = "http://192.168.1.6:8080/myfarm/farmowner/";

public static FarmOwnerService getServices()
{
    if(farmOwnerServices==null)
    {
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(Base_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        farmOwnerServices = retrofit.create(FarmOwnerService.class);
    }
    return farmOwnerServices;
}
public interface FarmOwnerService {

    @Multipart
    @POST("uploadFile")
    Call<String> uploadFile(@Part MultipartBody.Part file);

后端-Java Rest API

@RequestMapping(value="/uploadFile" )
public String uploadFile(@RequestParam("file") multipartfile file) {

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...