나는이 AsyncTask
클래스를 POST 데이터 배열을 문제없이 PHP 서버에 보냈습니다. 이제는 동일한 스크립트에 파일을 전송할 수 있도록 확장하고 싶습니다 (이미 PHP 파일에서 핸들링을 받았습니다). 내 말은 한 번에 DATA + FILE을 게시하는 것입니다. multipart 엔티티 또는 HTML 액션에서 PHP 스크립트에 이르기까지.안드로이드는 PHP 서버에 멀티 파트 HTML 폼을 게시합니다
다른 것들과 함께 파일을 업로드 할 수 있도록이 클래스에 무엇을 추가해야합니까?
public class UpdateSnakeGameStatusTask extends AsyncTask<String, Integer, HttpResponse> {
private Context mContext;
private ArrayList<NameValuePair> mPairs;
/**
* @param context The context that uses this AsyncTask thread
* @param postPairs <b>NameValuePair</b> which contains name and post data
*/
public UpdateSnakeGameStatusTask(Context context, ArrayList<NameValuePair> postPairs) {
mContext = context;
mPairs = new ArrayList<NameValuePair>(postPairs);
}
@Override
protected HttpResponse doInBackground(String... params) {
HttpResponse response = null;
HttpPost httppost = new HttpPost(params[0]); //this is the URL
try {
httppost.setEntity(new UrlEncodedFormEntity(mPairs));
HttpClient client = new DefaultHttpClient();
response = client.execute(httppost);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return response;
}
}
가능한 중복 [HTTP를 사용하여 서버에 모바일에서 안드로이드에서 파일을 전송하는 방법?] (http://stackoverflow.com/questions/4126625/how-to-send하는 데 도움이 -a-file-in-android-from-http-using-http) – nKn
하나의 파일에 대해서만 @nKn 동일한 게시물 작업에 DATA + FILE을 게시합니다. –
인코딩 된 base64 파일을 이름 값 쌍. – greenapps