我google了很多,但它不工作。我發現了很多網站的信息,但我的應用程序崩潰的所有網站。我想打開的圖片是:「lastfile.png」。它存儲在內部存儲器中,所以我用openFileInput(「lastfile.png」)打開它;上傳圖片到服務器
我在AsyncTask中完成它。
這是到目前爲止我的代碼:
class PostTask extends AsyncTask<String, String, String>{
@Override
protected String doInBackground(String... uri) {
if(picture == null) {
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response;
String responseString = null;
try {
response = httpclient.execute(new HttpGet(uri[0]));
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpStatus.SC_OK){
ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
out.close();
responseString = out.toString();
} else{
response.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
} catch (ClientProtocolException e) {
Toast.makeText(AddStoryActivity.this, getResources().getString(R.string.error), Toast.LENGTH_LONG).show();
e.printStackTrace();
} catch (IOException e) {
Toast.makeText(AddStoryActivity.this, getResources().getString(R.string.error), Toast.LENGTH_LONG).show();
e.printStackTrace();
}
return responseString;
} else {
/* IMAGE UPLOAD */
}
return "";
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
progress.cancel();
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();
}
}
哪裏圖像數據上傳?這似乎更像是從服務器上卸載某些東西的方式。 對於圖片上傳,您應該創建一個HttpPost請求,並在您調用'httpClient.execute'之前,將要上傳的文件附加到它。 –