你好,我想上传图像从Android模拟器到asp.net服务器。下面的代码可以与服务器通信。当我试图创建一个文本文件来查看从android发送的数据是否成功。但没有文件数据没有发送到服务器。我试图发送纯文本到服务器,但我在服务器上创建的文件没有打印文本。Android的图像上传问题
这里的代码: HttpURLConnection conn = null;
String boundary = "==============";
try
{
String disposition = "Content-Disposition: form-data; name=\"userfile\"; filename=\"" + filename + ".jpg\"";
String contentType = "Content-Type: application/octet-stream";
String t1 = "Content-Disposition: form-data; name=\"test\";";
String t2 = "Content-Type: text/plain";
// This is the standard format for a multipart request
StringBuffer requestBody = new StringBuffer();
/*
requestBody.append("--"+boundary);
requestBody.append('\n');
requestBody.append(disposition);
requestBody.append('\n');
requestBody.append(contentType);
requestBody.append('\n');
requestBody.append('\n');
requestBody.append(new String(getByteFromStream(stream)));
*/
requestBody.append('\n');
requestBody.append('\n');
requestBody.append("--"+boundary);
requestBody.append('\n');
requestBody.append(t1);
requestBody.append('\n');
requestBody.append(t2);
requestBody.append('\n');
requestBody.append('\n');
requestBody.append("basdfsdafsadfsad");
requestBody.append("--"+boundary+"--");
// Make a connect to the server
URL url = new URL(targetURL);
conn = (HttpURLConnection) url.openConnection();
// Put the authentication details in the request
/*
if (username != null) {
String usernamePassword = username + ":" + password;
String encodedUsernamePassword = Base64.encodeBytes(usernamePassword.getBytes());
conn.setRequestProperty ("Authorization", "Basic " + encodedUsernamePassword);
}
*/
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("MIME-Version:", "1.0");
conn.setRequestProperty("Content-Type", "multipart/mixed; boundary=" + boundary);
// Send the body
DataOutputStream dataOS = new DataOutputStream(conn.getOutputStream());
dataOS.writeBytes(requestBody.toString());
dataOS.flush();
dataOS.close();
// Ensure we got the HTTP 200 response code
int responseCode = conn.getResponseCode();
if (responseCode != 200) {
throw new Exception(String.format("Received the response code %d from the URL %s", responseCode, url));
}
我的请求正文布局不正确吗?
如果可能的话,你为什么不看原始请求你r服务器? – xandy 2011-02-23 00:27:19
请教我如何查看服务器上的原始数据 – LittleFunny 2011-02-23 01:50:38