我想在 android 中使用 http post 发布多字节数组。我成功地使用 BYTEARRAYENTITY 发布单字节数组但是在单个请求中发布多字节数组应该在代码中进行哪些更改?
我编写如下代码,可以很好地发布一个字节数组。但等待解决方案发布多字节数组。
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();
如果有人对此有任何想法,请尽快回复我
谢谢