zoukankan      html  css  js  c++  java
  • adnroid如何上传图片到webservice(c#编写的)(原创)

    2011年8月5日15:46:25

    这几天 我在编写adnroid移动采编的系统 由于是第一次使用java和android平台 遇到了很多问题

    其中有: <1>如何调用.net写的webservices  

               <2>如何浏览图片(imageview)

               <3>如何取图片的名称和路径    这些问题已经解决了   花了我好几天的时间


    下面我说一下是 如何解决  adnroid如何上传图片到webservice(c#编写的)  的

    webservices 的方法:  (这个不是很关键  一般我们都会处理)

    View Code
    参数的定义:

    string UpLoadPhoto(string strxml, byte[] photodata, int length)

    方法体关键代码: (将byte[]类型的变量 还原成文件)

    FileStream fs
    = new FileStream(sFilePath + "\\" + FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
    fs.Position
    = Position;
    fs.Write(Bytes,
    0, Bytes.Length);
    fs.Close();
    fs
    = null;

    android客户端(sdk2.2)代码

    我只是说一下 第二个参数如何生成吧(问题的关键就在这里)

    @Override
     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      requestWindowFeature(Window.FEATURE_NO_TITLE);
      setContentView(R.layout.tupiangaojian);
      //
      ImageView iv_image = (ImageView) findViewById(R.id.imview);
      iv_image.setDrawingCacheEnabled(true);   //这句话是和后面的Bitmap bitmap = iv_image.getDrawingCache();对应

      //

     }

     //取得图片的Base64编码的字符串  (bitmap 变量从imageview上面就可以取得 Bitmap bitmap = iv_image.getDrawingCache();)
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
      String photodata = new String(Base64.encode(baos.toByteArray(),
        Base64.DEFAULT));

    string UpLoadPhoto(string strxml, byte[] photodata, int length)

    其中 这个 photodata 就是要传到参数photodata 上面的数据 ( 有意思的是参数定义的是byte[] 这个变量是String)

    这个问题困扰了好几天 最后就是这样解决的

    顺便再记录一下其他的事情:

    如何获取图片的文件名称(imageview)

    View Code
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {

    Uri uri
    = data.getData();
    Cursor cursor
    = getContentResolver().query(uri, null, null, null,
    null);
    cursor.moveToFirst();
    // String imgNo = cursor.getString(0); // 图片编号
    imgPath = cursor.getString(1); // 图片文件路径
    String imgSize = cursor.getString(2); // 图片大小
    String imgName = cursor.getString(3); // 图片文件名

    }

    }

  • 相关阅读:
    LDAP个人理解
    webpack-dev-middleware 与 webpack-hot-middlware
    RFC、EMCA-262、TC-39等名词
    贝塞尔曲线
    Async/await语法糖实现(Generator)
    Promise嵌套问题/async await执行顺序
    JS对象中,在原型链上找到属性后 最终将值拷贝给原对象 而不是引用
    三列布局中 float引发的一个问题-当“非float的元素”和“float的元素”在一起的时候,如果非float元素在先,那么float的元素将受到排斥。
    05-Linux系统编程-第02天(文件系统、目录操作、dup2)
    降低30%视频码率,窄带高清技术实现揭秘
  • 原文地址:https://www.cnblogs.com/zhwl/p/2128737.html
Copyright © 2011-2022 走看看