Java MultipartEntityBuilder将图片发送到rail服务器
我正在尝试向我的Rails服务器发送一个Java MultipartEntityBuilder将图片发送到rail服务器,java,android,ruby-on-rails,apache,mime,Java,Android,Ruby On Rails,Apache,Mime,我正在尝试向我的Rails服务器发送一个MultipartEntityBuilder。然而,当我试图构建它时,它崩溃了,并给了我错误 03-25 09:44:50.001 W/System.err﹕ java.util.concurrent.ExecutionException:java.lang.NoSuchMethodError: 无静态方法 创建(Ljava/lang/String;[Lorg/apache/http/NameValuePair;)Lorg/apache/http/enti
MultipartEntityBuilder
。然而,当我试图构建它时,它崩溃了,并给了我错误
03-25 09:44:50.001 W/System.err﹕
java.util.concurrent.ExecutionException:java.lang.NoSuchMethodError:
无静态方法
创建(Ljava/lang/String;[Lorg/apache/http/NameValuePair;)Lorg/apache/http/entity/ContentType;
类Lorg/apache/http/entity/ContentType;或其超类中
(声明'org.apache.http.entity.ContentType
HttpPost-httpost=新的HttpPost(url);
MultipartEntity=new MultipartEntityBuilder.create();
entity.setMode(HttpMultipartMode.BROWSER_兼容);
对于(int index=0;index
这是我正在使用的代码,我仍然在构建多端口时出错,它会说是错误。尝试使用httpime版本4.3.6
我尝试过使用4.4+,但总是遇到同样的问题。在android studio中,使用File | Project Structure | Dependency |按钮,不要使用Library Dependency,它使用的是Maven,Maven正在添加最新的httmime。相反,不要像@Matheus提到的那样加载4.3.6,并将其添加为文件依赖项。这样,build.gradle就会有一行类似comp的代码ile文件('libs/httpime-4.3.6.jar'记住,您可能需要再次将您的项目与Android Studio中的Gradle文件同步,或者只需在
build.Gradle
文件上放置compile'org.apache.httpcomponents:httpime:4.3.6'
内部依赖项
HttpPost httpost = new HttpPost(url);
MultipartEntityBuilder entity = new MultipartEntityBuilder.create();
entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
for(int index=0; index < nameValuePairs.size(); index++) {
ContentBody cb;
if(nameValuePairs.get(index).getName().equalsIgnoreCase("File")) {
File file = new File(nameValuePairs.get(index).getValue());
FileBody isb = new FileBody(file);
entity.addPart(nameValuePairs.get(index).getName(), isb);
} else {
// Normal string data
cb = new StringBody(nameValuePairs.get(index).getValue(),ContentType.TEXT_PLAIN);
entity.addPart(nameValuePairs.get(index).getName(),cb);
}
}
return entity.build();