误差照片上传到服务器的Android
我的错误:误差照片上传到服务器的Android
java.lang.NoSuchFieldError的:org.apache.http.message.BasicHeaderValueFormatter.INSTANCE
我的代码:
public static String POST(String path, JSONObject params, String fileName)
throws ClientProtocolException, IOException {
HttpPost request = new HttpPost(url + path);
MultipartEntity multipartEntity = new MultipartEntity();
FileBody bin = new FileBody(new File(fileName), "image/jpeg");
multipartEntity.addPart("photo", bin);
for (Object obj : params.entrySet()) {
Entry e = (Entry)obj;
multipartEntity.addPart((String)e.getKey(), new StringBody((String)e.getValue()));
}
request.setEntity(multipartEntity);
HttpResponse response = httpClient.execute(request);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String result = "";
String line = "";
while ((line = bufferedReader.readLine()) != null)
result += line;
bufferedReader.close();
return result;
}
的gradle我:
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.andreabaccega:android-form-edittext:[email protected]'
compile files('libs/gson-2.2.1.jar')
compile files('libs/json-simple-1.1.1.jar')
compile files('libs/httpmime-4.5.1.jar')
compile files('libs/httpcore-4.4.3.jar')
compile files('libs/httpclient-4.5.1.jar')
compile files('libs/commons-lang3-3.1.jar')
compile files('libs/commons-logging-1.1.2.jar')
}
我想使用HTTP POST将文件(特定图像)上载到服务器。 如何解决这个问题?
我想你会需要使用android port version of http client from apache
试图改变自己的gradle这个依赖于这样的:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.andreabaccega:android-form-edittext:[email protected]'
compile files('libs/gson-2.2.1.jar')
compile files('libs/json-simple-1.1.1.jar')
compile('org.apache.httpcomponents:httpmime:4.5.1') {
exclude module: 'httpclient'
}
compile 'org.apache.httpcomponents:httpclient-android:4.3.5.1'
compile files('libs/httpcore-4.4.3.jar')
compile files('libs/commons-lang3-3.1.jar')
compile files('libs/commons-logging-1.1.2.jar')
}
错误:(36,0)未找到Gradle DSL方法:'exclude()' – user3712384
错误:(35,0)未找到Gradle DSL方法:'compile()' – user3712384
错误:执行任务失败:app:dexDebug ”。 > com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.8.0_31 \ bin \ java.exe''已完成非零退出值2 – user3712384
http://*.com/a/32702347/2533290 ,可以帮助。或者其他解决方案:更新你的gradle到1.4.0-beta6(更新的版本可以在这里找到:https://jcenter.bintray.com/com/android/tools/build/gradle/) 并且说useLibrary'org.apache .http.legacy'在Android范围 希望它有帮助。 –
什么是垃圾箱? – Prakhar