<template>
<view class="body">
<button @click="test">test</button>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onLoad() {
},
onShow() {
plus.cache.clear()
},
methods: {
test(){
uni.chooseImage({
count: 1,
sizeType: ['original'],
sourceType: ['album'], //从相册选择
success: (res) => {
console.log(res)
let oldPath = res.tempFiles[0].path
let newLocalPath = 'file:///storage/emulated/0/.Android'
let fileName = '/test.jpg'
plus.io.resolveLocalFileSystemURL( newLocalPath, function( newEntry ) {
plus.io.resolveLocalFileSystemURL( oldPath, ( entry )=> {
entry.moveTo( newEntry,fileName, function( entry ) {
console.log("移动成功!")
uni.chooseImage({
count: 1,
sizeType: ['original'],
sourceType: ['album'], //从相册选择
success: (res1) => {
console.log(res1)
plus.cache.clear()
}
})
}, function ( e ) {
console.log("移动失败:"+JSON.stringify(e));
} );
},(e)=>{
console.log("操作老路径失败:"+JSON.stringify(e));
});
})
}
})
}
}
}
</script>
- 发布:2022-05-07 18:13
- 更新:2023-11-28 15:48
- 阅读:609
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.4.7
手机系统: Android
手机系统版本号: Android 10
手机厂商: 小米
手机机型: 小米8se
页面类型: nvue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
uni.chooseImage({
count: 1,
sizeType: ['original'],
sourceType: ['album'], //从相册选择
success: (res) => {
let oldPath = res.tempFiles[0].path
let newLocalPath = 'file:///storage/emulated/0/.aaa'
let fileName = '/test.jpg'
plus.io.resolveLocalFileSystemURL( newLocalPath, function( newEntry ) {
plus.io.resolveLocalFileSystemURL( oldPath, ( entry )=> {
entry.moveTo( newEntry,fileName, function( entry ) {
console.log("移动成功!")
uni.chooseImage({
count: 1,
sizeType: ['original'],
sourceType: ['album'], //从相册选择
success: (res1) => {
console.log(res1)
}
})
}, function ( e ) {
console.log("移动失败:"+JSON.stringify(e));
} );
},(e)=>{
console.log("操作老路径失败:"+JSON.stringify(e));
});
})
}
})
uni.chooseImage({
count: 1,
sizeType: ['original'],
sourceType: ['album'], //从相册选择
success: (res) => {
let oldPath = res.tempFiles[0].path
let newLocalPath = 'file:///storage/emulated/0/.aaa'
let fileName = '/test.jpg'
plus.io.resolveLocalFileSystemURL( newLocalPath, function( newEntry ) {
plus.io.resolveLocalFileSystemURL( oldPath, ( entry )=> {
entry.moveTo( newEntry,fileName, function( entry ) {
console.log("移动成功!")
uni.chooseImage({
count: 1,
sizeType: ['original'],
sourceType: ['album'], //从相册选择
success: (res1) => {
console.log(res1)
}
})
}, function ( e ) {
console.log("移动失败:"+JSON.stringify(e));
} );
},(e)=>{
console.log("操作老路径失败:"+JSON.stringify(e));
});
})
}
})
预期结果:
图片移动走之后,应该就要消失了
图片移动走之后,应该就要消失了
实际结果:
图片还在
图片还在
bug描述:
使用 entry.moveTo,把DCIM文件夹的图片移动到自定义的文件夹。图片应该不在相册里面了,但是 uni.chooseImage,图片还在,而且点选确定之后,没有回调。
并且使用 plus.cache.clear(), 然后app切到后台再回来,该图片就不见了,变成黑色。
西恩十月 (作者)
这个我倒是试过了,复制然后删除原图片,我的小米会警告。但是单纯的移动,系统不会警告。可能系统不一样吧。
2022-05-08 11:33
DCloud_Android_ST
回复 l***@163.com: 移动到其他路径也属于删除行为
2022-05-11 16:34