HarmonyOS 鸿蒙Next PhotoSelectOptions isOriginalSupported属性的两个Bug
HarmonyOS 鸿蒙Next PhotoSelectOptions isOriginalSupported属性的两个Bug
sOriginalSupported默认值在文档上写的是true,实际测试是false isOriginalSupported设为true后选择原图和不选择原图得到的图片文件大小没有区别 *测试代码
import photoAccessHelper from '@ohos.file.photoAccessHelper';
import fs from '@ohos.file.fs';
@Entry
@Component
struct WebComponent {
@State eventType: string = '';
@State showWeb: boolean = false
build() {
Column() {
Button() {
Text('测试')
}.width('100%').height('50vp').onClick(() => {
try {
let PhotoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
PhotoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
PhotoSelectOptions.maxSelectNumber = 5;
PhotoSelectOptions.isOriginalSupported = true;
let photoPicker = new photoAccessHelper.PhotoViewPicker();
photoPicker.select(PhotoSelectOptions,
(err: BusinessError, PhotoSelectResult: photoAccessHelper.PhotoSelectResult) => {
if (err) {
console.error(`PhotoViewPicker.select failed with err: ${err.code}, ${err.message}`);
return;
}
const filePath = PhotoSelectResult.photoUris[0]
console.log('file size: ' + fs.statSync(fs.openSync(filePath, fs.OpenMode.READ_ONLY).fd).size)
console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' +
JSON.stringify(PhotoSelectResult));
});
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`PhotoViewPicker failed with err: ${err.code}, ${err.message}`);
}
})
}
}
}
先不勾选原图再勾选原图进行两次测试输出结果** 图片由手机拍摄得来,可以看到无论是不是原图,文件大小都是一样的
更多关于HarmonyOS 鸿蒙Next PhotoSelectOptions isOriginalSupported属性的两个Bug的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
2.是否为原图,可以通过isOriginalSupported来判断,就不需要通过文件大小来判断了
有类似的这种情况,我看是采取isOriginalSupported来判断,而不是通过文件大小去判断的
当前原图选项不管是否选择,给的都是不压缩的图片。
如果用户未选择“原图”选择,第三方自己可以按需对图片/视频进行压缩处理
更多关于HarmonyOS 鸿蒙Next PhotoSelectOptions isOriginalSupported属性的两个Bug的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS 鸿蒙系统中,关于NextPhotoSelectOptions
类的isOriginalSupported
属性存在的两个Bug,具体表现及原因简述如下:
-
属性设置无效:在某些情况下,即使明确设置了
isOriginalSupported
为true
,系统在实际选择照片时仍然不会显示原始图片选项。这可能是由于属性设置未正确生效,或者系统内部逻辑在处理该属性时存在缺陷。 -
属性状态不一致:在调用相关接口获取
NextPhotoSelectOptions
实例后,检查isOriginalSupported
属性的值,发现其状态与预期设置不符。这可能是在对象创建、初始化或后续处理过程中,属性值被意外修改或覆盖。
这两个问题可能影响到开发者在使用鸿蒙系统API进行照片选择功能开发时的体验,导致无法准确控制用户是否可以选择原始图片。
请注意,上述描述是基于一般性的理解,并未涉及具体代码实现或系统内部机制。若遇到相关问题,建议直接通过官方渠道提交Bug报告,以便鸿蒙系统开发者团队能够尽快修复。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html