一,从本地获取相册中的图片,并获取图片的URI

从本地选择图片上传到服务器时,首先要打开本地图片或文件管理器选择要上传的文件,代码如下
  1. Intent intent =newIntent(Intent.ACTION_GET_CONTENT);
    intent.setType("image/*");
    startActivityForResult(intent, intentType);

      

然后重写onActivityResult()方法获取图片实际路径
  1. @Override
    protectedvoid onActivityResult(int requestCode,int resultCode,Intent data){
    if(requestCode == FILECHOOSER_RESULTCODE){
    if(null== mUploadMessage){
    return;
    }
    Uri result = data ==null|| resultCode != RESULT_OK ?null: data.getData();
    if(result ==null){
    mUploadMessage =null;
    return;
    }
    String filename = getRealPathFromURI(result);
    if(filename !=null){
    result =Uri.fromFile(newFile(filename));
    }
    mUploadMessage.onReceiveValue(result);
    mUploadMessage =null;
    }
    }
我们的目标是通过获取到的URI用CursorLoader加载到Cursor中,然后去到path,网上基本上都是这样使用的,最近在android4.4上测试出现了问题
通过以上代码可以获取到URI,可是拿不到path。
所选择的图片URI原本是"

content://com.android.providers.media.documents/document/image:8191

",然后通过Uri uri= data.getData();所拿到的uri却变成了"

content://com.android.providers.media.documents/document/image%3A8191

",image后边的冒号自动转义了,而且uri也跟一般所见"

content://media/external/images/media/63

"这样的uri格式不同,网上查找后终于找到解决方法:

  1. Intent i =newIntent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    startActivityForResult(Intent.createChooser( i,"选择图片"),WebViewActivity.FILECHOOSER_RESULTCODE );
换成以上代码启动选择图片就会调用系统默认的图片管理软件,选择,返回的uri就是标准的uri了。

从手机获取图片让WebView支持本地上传图片的更多相关文章

  1. [转]微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传

    本文转自:http://blog.csdn.net/qq_31383345/article/details/53014610 今天遇到微信小程序的用户头像设置功能,做笔记. 先上gif: 再上代码: ...

  2. 微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传

    1.index.wxml <!--index.wxml--> <button style="margin:30rpx;" bindtap="choose ...

  3. 从URL获取图片并保存到本地

    /// <summary> /// HttpWebRequest Property /// </summary> /// <param name="fileNa ...

  4. Android获取本地相册图片、拍照获取图片

    需求:从本地相册找图片,或通过调用系统相机拍照得到图片. 容易出错的地方: 1,当我们指定了照片的uri路径,我们就不能通过data.getData();来获取uri,而应该直接拿到uri(用全局变量 ...

  5. php获取网页中图片并保存到本地

    php获取网页中图片并保存到本地的代码,将网页中图片保存本地文件夹: save_img("http://www.jbxue.com" ?>

  6. php获取网页中图片并保存到本地的代码

    php获取网页中图片并保存到本地的代码,将网页中图片保存本地文件夹: <?php /** * 获取网页中图片,并保存至本地 * by www.jbxue.com */ header(" ...

  7. iOS 根据图片URL从本地相册获取图片

    最近做一个聊天的项目,需要发送图片后读取本地图片显示到列表里.刚开始的时候,天真的认为可以用SDWebImage直接加载,然后并不能行. 于是在网上搜了搜,如何根据从相册获取的UIImagePicke ...

  8. iOS开发——打开手机相册,获取图片

    1.添加代理UIImagePickerControllerDelegate 2.设置点击跳转事件 - (IBAction)picButton:(UIButton *)sender { NSLog(@& ...

  9. iOS图片存在本地、再从本地获取图片

    图片存在本地.再从本地获取图片 //将图片保存到本地 + (void)SaveImageToLocal:(UIImage*)image Keys:(NSString*)key {     NSUser ...

随机推荐

  1. cookie和会话状态的工作原理

    一:存在两种类型的cookie: 1>会话cookie (session cookie)        不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,   ...

  2. Yii 框架中带有区间的搜索

  3. Python标准库04 文件管理 (部分os包,shutil包)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在操作系统下,用户可以通过操作系统的命令来管理文件,参考linux文件管理相关命令 ...

  4. nvelocity模板引擎

    using NVelocity.App;using NVelocity.Runtime;using NVelocity; VelocityEngine vltEngine = new Velocity ...

  5. CentOS 安装 Chrome

    cd  /etc/yum.repos.d/ vi  google.repo [gogle] name=Google-x86_64 baseurl=http://dl.google.com/linux/ ...

  6. 20145305 《Java程序设计》第7周学习总结

    教材学习内容总结 1.只有Lambda表达式,参数的类型必须写出来,如果有目标类型,在编译程序可推断出类型的情况下,可以不写出 2.Lambda表达式本身是中性的,不代表任何类型的实例,可用来表示不同 ...

  7. MS Sql Server 中主从库的配置和使用介绍(转)

    网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求:这时候我们可以考虑使用主从库. 主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作+最新数据 ...

  8. How to control PrincipalObjectAccess table growth in Microsoft Dynamics CRM 2011

    https://support.microsoft.com/en-us/kb/2664150 How to control PrincipalObjectAccess table growth in ...

  9. java代码中后台向前台传递list或map集合案例

    导入jar包 新建一个servert传递map集合 ajax.java代码: package servlet; import java.io.IOException; import java.io.P ...

  10. Font-Awesome for android

    Font-Awesome 是为Bootstrap设计的一个图标集合字体,里面包含了300多个常用图标.使用Font-Awesome还具有如下优点: 1. 减少了图标的绘制工作 2. 可以设置图标的颜色 ...