2015-10-26 56 views
2

如果我正在使用Postmam文件上传没有问题。但是,当anroid尝试在服务器上传文件时,方法会抛出NPE,因为MultipartFile file = null。将Android上的MultiPart文件上传到服务器(SpringMVC)

的Android

RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file); 

Call<MediaResponseModel> call = service.uploadImage(requestBody); 

call.enqueue(new RetrofitCallback<>(callback)); 


@POST("/uploadImage") 

Call<MediaResponseModel> uploadImage(@Part("file") RequestBody file); 

服务器

@RequestMapping(value = "/uploadImage", method = RequestMethod.POST) 
@ResponseBody 
public ResponseEntity<?> imageUpload(@RequestHeader(value = "id") String sessionId, 
             @RequestParam (value = "file") MultipartFile file) 

的ApplicationContext

<bean id="jsonConverter" 
     class="org.springframework.http.converter.json.GsonHttpMessageConverter"> 
    <property name="supportedMediaTypes"> 
     <list> 
      <value>application/json;charset=UTF-8</value> 
     </list> 
    </property> 
</bean> 

<mvc:annotation-driven > 
<mvc:message-converters> 
    <bean class="org.springframework.http.converter.json.GsonHttpMessageConverter"/> 
</mvc:message-converters> 
</mvc:annotation-driven> 

回答

1

这是很难做到的它在android上使用HTTP,有一些第三方库可以使用它。

  1. ion
  2. enter link description here

两个都是很好的图书馆,我在项目中使用这两种。

+0

我不知道这个答案是如何被接受;这根本不能回答这个问题。 – forresthopkinsa