我正在开发小型 android 应用程序,在该应用程序中,我想使用 put 方法将图像上传到我的服务器,并将图像作为带有 json 对象的请求体。我对此提出了很多问题,这对我有很大帮助。我尝试了以下方式...
class ImageUploadTask extends AsyncTask <Void, Void, Void>{
@Override
protected Void doInBackground(Void... unused) {
HttpClient hc = new DefaultHttpClient();
String message;
HttpPut p = new HttpPut("https://abc.com");
JSONObject Jobject = new JSONObject();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, 100, bos);
byte[] data = bos.toByteArray();
Jobject.put("Image", data);
try {
message = Jobject.toString();
p.setEntity(new StringEntity(message, "UTF8"));
p.setHeader("Content-type", "application/json");
HttpResponse resp = hc.execute(p);
if (resp != null) {
if (resp.getStatusLine().getStatusCode() == 204)
{
}
}
Log.d("Status line", "" + resp.getStatusLine().getStatusCode());
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Void... unsued) {
}
@Override
protected void onPostExecute(Void result) {
try {
if (dialog.isShowing())
dialog.dismiss();
} catch (Exception e) {
Toast.makeText(getApplicationContext(),"Error"+e,
Toast.LENGTH_LONG).show();
Log.e(e.getClass().getName(), e.getMessage(), e);
}
}
}
但它不工作。当我尝试执行我的网络调用时,它向我显示系统错误
java.net.UnknownHostException: abc.com
。我做错了什么。有没有办法做到这一点。需要帮忙。谢谢你。