Android 11 调用系统图片裁剪后,图片保存不了的解决方案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 11 调用系统图片裁剪后,图片保存不了的解决方案相关的知识,希望对你有一定的参考价值。
参考技术A 升级SDK30之后,一步一个坑。走不完的路,填不完的坑。android11存储机制变更: https://developer.android.com/about/versions/11/privacy/storage?hl=zh-cn
调用系统相册选取照片,然后裁剪,存储裁剪之后的照片,显示并上传服务器。多么正常的操作流程,相信大家都已经用过或者正在用。SDK升级到30,在Android11 上就失灵了。What?都知道是存储问题,怎么解决。现在告诉你。
仅供参考。如有建议和意见,请及时沟通。🙏
php+ajax+flash 实现图片裁剪上传
我们做内容管理系统后台,经常会用到一个功能就是图片裁剪并上传. 这个功能需要浏览器安装flash, 我把我项目当中经常用到一个图片裁剪上传的插件分享给大家.需要用到的可以参考,或者是直接留言要源码都可以的.
图片上传的代码,选择图片后调用uploadfile 方法,传递需要裁剪后的图片大小
<a href="javascript:void(0);" id="upCarImg" class="a-upload" style="width: 80px;" onclick="uploadfile(this,328,200)">选择图片</a>
<span class="size_pic" style="width: 250px;">(图片最佳尺寸为:328*200)</span>
点击后显示上面的选择图片框,选择图片即可
页面中加入以下js
<script type="text/javascript">
//点击上传图片
function uploadfile(obj,width,heigth) {
var uploadurl = "{:U('Compet/upload_pic',true,true,true)}?sessionId=123456&time=" + Math.floor((Math.random() * 100) + 1);
cropping( uploadurl, 'file', width, heigth,obj);
}
//图片上传返回
function flashCallBack1(elm, data, formName) {
var json_value = jQuery.parseJSON(data);
switch(json_value.code) {
case '000':
$("#imgBlock").html("");
$("#imgBlock").html('<img name="carImg" width="328" height="200" id="carImg">');
$("#upImg").val(json_value.url); //入库的路径
break;
case '102':
alert(json_value.msg);
break;
}
}
</script>
flash上传还有以下几个js和css,这几个js我就不一一写出来了.有需要的直接留言,索要源码即可
<link rel="stylesheet" type="text/css" href="/cropping/history/history.css" />
<script type="text/javascript" ></script>
<!-- END Browser History required section -->
<script type="text/javascript" ></script>
<script type="text/javascript" ></script>
今天圣诞节,在此祝福大家圣诞节快乐!幸福开心每一天!!!
以上是关于Android 11 调用系统图片裁剪后,图片保存不了的解决方案的主要内容,如果未能解决你的问题,请参考以下文章
hbuilder mui调用系统裁剪图片头像裁剪-Android
调用 android 系统拍照结合 android-crop 裁剪图片