Android文件上传-使用后端Java Rest API改装Multipart
你能帮我用后端java rest api(mysql db)上传多部分改型文件吗。我尝试了以下代码,但它不起作用 改装零件 Activity.javaAndroid文件上传-使用后端Java Rest API改装Multipart,java,android,file-upload,retrofit,multipartfile,Java,Android,File Upload,Retrofit,Multipartfile,你能帮我用后端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 = Multi
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) {
}
});
}
您是在模拟器上运行代码还是在真实设备上运行代码?尝试使用真正的设备,因为Android emulator拥有自己的NATI-used三星a21s。我认为改造和JavaRESTAPI能够连接起来。不确定rest api中的方法签名是否正确。当去毛刺的时候,它在proxy4处结巴
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);
@RequestMapping(value="/uploadFile" )
public String uploadFile(@RequestParam("file") MultipartFile file) {