SimpleAnalyzer.java
上传用户:sygbg6
上传日期:2020-12-29
资源大小:4884k
文件大小:5k
源码类别:

游戏

开发平台:

Java

  1. package cn.com.imageanalyze.analyzer;
  2. import java.io.IOException;
  3. import java.io.OutputStream;
  4. import javax.microedition.io.Connector;
  5. import javax.microedition.io.HttpConnection;
  6. import org.kobjects.base64.*;
  7. import org.ksoap2.SoapEnvelope;
  8. import org.ksoap2.serialization.SoapObject;
  9. import org.ksoap2.serialization.SoapPrimitive;
  10. import org.ksoap2.serialization.SoapSerializationEnvelope;
  11. import org.ksoap2.transport.HttpTransport;
  12. import org.xmlpull.v1.XmlPullParserException;
  13. public class SimpleAnalyzer {
  14. private static String BOUNDARY = "---------7d4a6d158c9"; // separate line
  15. private static String MULTIPART_FORM_DATA = "multipart/form-data";
  16. /**
  17.  * 图片分析
  18.  * 
  19.  * @param buff
  20.  * @return 如果分析失败返回 null
  21.  * @throws IOException 
  22.  * @throws IOException
  23.  * @throws XmlPullParserException
  24.  */
  25.  public static String analyze(byte[] buff) throws IOException,
  26. XmlPullParserException {
  27. HttpTransport ht = null;
  28. try {
  29. SoapObject rpc = new SoapObject("http://tempuri.org/", "UploadFile");
  30. rpc.addProperty("FileName", "jpedtemp.jpeg");
  31. rpc.addProperty("fs", new SoapPrimitive
  32. // (SoapSerializationEnvelope.ENC, "base64Binary", Base64.encode(buff).substring(0,10)));
  33.  (SoapSerializationEnvelope.ENC, "base64Binary", Base64.encode(buff)));
  34. SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
  35. SoapSerializationEnvelope.VER10);
  36. envelope.setOutputSoapObject(rpc);
  37. envelope.dotNet = true;
  38. ht = new HttpTransport("http://60.30.88.204:83/upload.asmx");
  39. ht.debug = true;
  40. ht.setXmlVersionTag("<?xml version="1.0" encoding="UTF-8"?>");
  41. ht.call("http://tempuri.org/UploadFile", envelope);
  42. Object object = envelope.getResponse();
  43. SoapPrimitive sp = (SoapPrimitive) object;
  44. return sp.toString();
  45. } catch (XmlPullParserException e) {
  46. System.out.println(ht.requestDump);
  47. System.out.println(ht.responseDump);
  48. throw e;
  49. }
  50. }
  51. // public static String analyze(byte[] buff) throws IOException {
  52. // String[] props = {}; // property name
  53. // String[] values = {}; // property value
  54. //// return writeHttpRequest("http://127.0.0.1:8888",props,values,"pic","jpedtemp","testcontent".getBytes());
  55. // return writeHttpRequest("http://127.0.0.1:8888",props,values,"pic","jpedtemp",buff);
  56. // }
  57. //
  58. // private static String writeHttpRequest(String url, String[] props,
  59. // String[] values, String fileFieldName,String filename, byte[] buff) throws IOException {
  60. // HttpConnection hc = null;
  61. // OutputStream output = null;
  62. // try {
  63. // StringBuffer sb = new StringBuffer();
  64. // for (int i = 0; i < props.length; i++) { // send each property
  65. // sb = sb.append("--");
  66. // sb = sb.append(BOUNDARY);
  67. // sb = sb.append("rn");
  68. // sb = sb.append("Content-Disposition: form-data; name=""
  69. // + props[i] + ""rnrn");
  70. // // sb = sb.append(URLEncoder.encode(values[i],"UTF-8"));
  71. // sb = sb.append(values[i]);
  72. // sb = sb.append("rn");
  73. // }
  74. // sb = sb.append("--");
  75. // sb = sb.append(BOUNDARY);
  76. // sb = sb.append("rn");
  77. // sb = sb
  78. // .append("Content-Disposition: form-data;name="" + fileFieldName + "";filename=""
  79. // + filename + ".jpg"rn");
  80. // sb = sb.append("Content-Type: application/octet-streamrnrn");
  81. // byte[] data = sb.toString().getBytes();
  82. // byte[] end_data = ("rn--" + BOUNDARY + "--rn").getBytes();
  83. // hc = (HttpConnection) Connector.open(url, Connector.READ_WRITE); // set
  84. // // HTTP
  85. // // head:
  86. // hc.setRequestProperty("Accept-Encoding", "gzip, deflate");
  87. // hc.setRequestProperty("Content-Type", MULTIPART_FORM_DATA
  88. // + "; boundary=" + BOUNDARY);
  89. // hc.setRequestProperty("Content-Length", String.valueOf(data.length
  90. // + buff.length + end_data.length)); //
  91. //  hc.setRequestProperty("Connection", "keep-alive");
  92. // hc.setRequestMethod(HttpConnection.POST); // out: OutputStream //
  93. // output = hc.openOutputStream();
  94. // output.write(data);
  95. // int i = 0;
  96. // while(i + 500 < buff.length){
  97. // output.write(buff, i, i + 500);
  98. // }
  99. // i = buff.length % 500;
  100. // if(i != 0) output.write(buff,buff.length - i ,buff.length);
  101. // output.write(end_data);
  102. // int cah = hc.getResponseCode();
  103. // if (cah == HttpConnection.HTTP_OK) {
  104. // return hc.getResponseMessage();
  105. // } else throw new IOException();
  106. // } finally {
  107. // if (output != null)
  108. // output.close();
  109. // if (hc != null)
  110. // try {
  111. // hc.close();
  112. // } catch (IOException e) {
  113. // // TODO Auto-generated catch block
  114. // e.printStackTrace();
  115. // }
  116. // }
  117. // }
  118. }