Android 上传图片使用方法

1.使用相对路径的方法(只能在本地显示,无法同步到其他):

 //  调用相机拍照
 LoggerUtils.e("tag1", "photoURI==" + photoUri.toString());
 getPhotoUrlFromUri(photoUri);
//从相册选择 
getPhotoUrlFromUri(data.getData());
 /**
     * 调用相机拍照/相册的回调:
     * @param photoUri
     */
    public void getPhotoUrlFromUri(Uri photoUri) {
        if (photoUri == null) {
            Log.i("PICNULL","照片不能为空,请重新选择照片");
            return;
        }
        //拿到图片url,修改数据,有接口进行调试:
        String path = TCUtils.getPath(PersonCenterActivity.this, photoUri);
        ShareMusicUtils.photoURL=photoUri;
        if (path==null) {
            Toast.makeText(this, "没有获取到图片", Toast.LENGTH_SHORT).show();
            changeSelectPicture(photoUri);
        }else if (path!=null){
            Toast.makeText(this, "获取到图片", Toast.LENGTH_SHORT).show();
            changeSelectPicture(photoUri);
        }
    }
//加载图片: 
GlideUtils.loadCircleImage(this, update_header, TCUtils.getPath(this, uri));

2.使用绝对路径上传图片:

String realPathFromUri = RealPathFromUriUtils.getRealPathFromUri(this, data.getData());
  /**
     * 根据Uri获取图片的绝对路径
     *
     * @param context 上下文对象
     * @param uri     图片的Uri
     * @return 如果Uri对应的图片存在, 那么返回该图片的绝对路径, 否则返回null
     */
    public static String getRealPathFromUri(Context context, Uri uri) {
        int sdkVersion = Build.VERSION.SDK_INT;
        if (sdkVersion >= 19) { // api >= 19
            return getRealPathFromUriAboveApi19(context, uri);
        } else { // api < 19
            return getRealPathFromUriBelowAPI19(context, uri);
        }
    }

 

//加载图片: 
GlideUtils.loadCircleImage(this, update_header,  realPathFromUri);
//然后使用post上传文件即可
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值