2

我正在使用 Base64 编码以字符串的形式存储图像。我希望将该图像发送到 API 并获得 JSON 对象响应。我已经使用 ArrayList 在 Android 中部署了相同的内容,但由于 iOS 没有 ArrayList。如何才能做到这一点。

ArrayList nameValuePairs = new ArrayList();

  nameValuePairs.add(new BasicNameValuePair("serialnumber",ReplaceString(UserData.objUserData.getencryptedTerminalid()).trim()));
  nameValuePairs.add(new BasicNameValuePair("mobileimei",ReplaceString(EncryptionHelper.encryptText(telephonyManager.getDeviceId())).trim()));
  nameValuePairs.add(new BasicNameValuePair("submerchantguid",ReplaceString(EncryptionHelper.encryptText(Payment.merchantId)).trim()));
  nameValuePairs.add(new BasicNameValuePair("transactionid",ReplaceString(EncryptionHelper.encryptText(Payment.transactionId))));
  nameValuePairs.add(new BasicNameValuePair("emailid",ReplaceString(EncryptionHelper.encryptText(userEmail)).trim()));
  nameValuePairs.add(new BasicNameValuePair("mobileno",ReplaceString(EncryptionHelper.encryptText(userMobile)).trim()));
  nameValuePairs.add(new BasicNameValuePair("signature",encodedSignImage));
  nameValuePairs.add(new BasicNameValuePair("photo",encodedPhotoImage.trim()));


  InputStream is;
  // open data output stream
  OutputStream dos;

  HttpClient httpclient = new DefaultHttpClient();

  HttpPost httppost = new

  HttpPost(Constants.INFO_SUBMIT);

  httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

  HttpResponse response = httpclient.execute(httppost);

  HttpEntity entity = response.getEntity();

  is = entity.getContent();

  int ch;
  StringBuffer b = new StringBuffer();
  String responseString = "";

  while ((ch = is.read()) != -1) 
  {
   b.append((char) ch);
  }

  responseString = b.toString();
  JSONObject jsonObject = new JSONObject(responseString);
  statusString = (String) jsonObject.get("Status");

    }
 }
4

1 回答 1

0

这里真的有三个不同的问题,我将分别回答:

  1. 在与 Web 服务通信方面,您应该查看RestKitASIHTTPRequestAFNetworking或类似的东西。如果您有兴趣编写自己的代码,可以使用URL 加载系统编程指南NSURLConnection中讨论的内容。您还可以查看将在NSURLConnection 类参考中看到的各种示例,例如SimpleURLConnections

  2. 在解析/创建 JSON 方面,您可以使用NSJSONSerialization.

  3. 在 base64 编码方面,我已经在 GTM 中成功使用了 Google GTMBase64。但我建议你看看How do I do base64 encoding on iphone-sdk?

于 2012-11-23T08:16:02.583 回答