【发布时间】:2012-11-08 06:34:26
【问题描述】:
我想使用 MultipartEntity 将图像和 JsonObject 发送到 PHP 服务器。 这是我的代码:
HttpClient httpClient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(urlString);
File file = new File(imageend);
HttpResponse response = null;
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file, "image/jpeg");
StringBody sb;
try {
sb = new StringBody(json.toString());
mpEntity.addPart("foto", cbFile);
mpEntity.addPart("json", sb);
httppost.setEntity(mpEntity);
response = httpClient.execute(httppost);
我无法在 php 中阅读此内容,因为格式如下:
{\"test1\":\"Z\",\"test2\":\"1\"}
由于反斜杠,我无法在 php 中阅读此内容。如果我通过 httppost 和 bytearrayentity 发布没有图像的 json,则没有任何反斜杠,我没有问题。
【问题讨论】:
-
您是如何创建
json对象的? -
JSONObject json = new JSONObject();试试 { json.put("test1", test1.getText().toString()); json.put("test2", test2.getText().toString());
-
你能看到
json.toString()返回什么吗?是否包含这些反斜杠? -
也许你应该在你的字符串体中指定和编码?
-
@NikitaBeloglazov:很好的问题。我试图 String test = json.toString();并且没有反斜杠!所以问题应该是StringBody!但是我怎样才能读出 StringBody 呢?我切换了一个断点,但我看不到它。
标签: java android json upload multipartentity