Androidのhttppostを使用して複数バイトの配列を投稿したい。BYTEARRAYENTITYを使用して単一バイト配列を投稿することに成功していますが、単一のリクエストで複数バイト配列を投稿すると、コードで何を変更する必要がありますか?
私は以下のようにコードを書きます。これは1バイトの配列を投稿するのにうまく機能します。しかし、ソリューションが複数バイトの配列をポストするのを待っています。
public String postData2s(String URL, String data) {
String filesizes = "";
BufferedReader bufferedReader = null;
String strresponse = "";
byte[] byteArray = null;
byteArray = data.getBytes();
filesizes = byteArray.length + "";
URL = URL + "&" + "fileSizes=" + filesizes;
final DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost request = null;
try {
request = new HttpPost(URL);
} catch (Exception e) {
}
HttpResponse response = null;
ByteArrayEntity arrayEntity = new ByteArrayEntity(byteArray);
try {
arrayEntity.setContentType("text/xml");
request.setEntity(arrayEntity);
response = httpClient.execute(request);
bufferedReader = new BufferedReader(new InputStreamReader(response
.getEntity().getContent()));
StringBuffer stringBuffer = new StringBuffer("");
String line = "";
String LineSeparator = System.getProperty("line.separator");
while ((line = bufferedReader.readLine()) != null) {
stringBuffer.append(line + LineSeparator);
}
bufferedReader.close();
Log.e("response ", stringBuffer.toString());
strresponse = stringBuffer.toString();
} catch (ClientProtocolException e) {
strresponse = "";
e.printStackTrace();
} catch (IOException e) {
strresponse = "";
e.printStackTrace();
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return strresponse;
}
私のC#の同僚は、次のコードを使用してWindows用の複数バイト配列を投稿しています
webRequest.ContentLength = size;
Stream requestStream = webRequest.GetRequestStream();
// Escribo cada uno de los archivos en el stream
for (int i = 0; i < arrBytes.Length; i++)
requestStream.Write(arrBytes[i], 0, arrBytes[i].Length);
requestStream.Close();
誰かがこれについて考えているなら、できるだけ早く私に答えてください
ありがとう