您的位置:首页 > 编程语言 > C#

adnroid如何上传图片到webservice(c#编写的)

2012-03-16 22:49 369 查看
这几天 我在编写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); // 图片文件名}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: