HarmonyOS鸿蒙Next中PhotoViewPicker如何获取原始信息?
HarmonyOS鸿蒙Next中PhotoViewPicker如何获取原始信息? 通过PhotoViewPicker选择文件只能获取到uri–格式为datashare://image/13455
实际使用需要copy到沙箱,但在copy的时候需要定义文件名与文件类型,但在fs提供的方法中只有stat可以获取信息,可是没有原始信息,请问我该如何?
到现在依然有问题
更多关于HarmonyOS鸿蒙Next中PhotoViewPicker如何获取原始信息?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
是的,还是有待提升,估计现在只有next版本,真正需要了才会在下个版本提供,
选择我选择图片,视频或者附件,需要上传到服务器。但是上传到服务器,他需要将选择以后的uri 转换成沙盒内文件进行上传,我都不知道文件类型。没办法通过fs.copy操作。不然类型对应不上去。而且上传到服务器文件名称也对应不上,
目前DocumentSelectOptions功能不完整, 如需获取文件名称,请使用startAbilityForResult接口。具体使用可参考以下文档:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/file-management/select-user-file.md
我没有使用document
这个,使用的是:PhotoSelectOptions
,也是需要向document
一样才能获取到名称?
DocumentSelectOptions是文件选择,包含图片是、视频等等,需要获取文件名称,请使用startAbilityForResult接口。
好的,感谢,
基本信息
姓名:张三
职位:软件工程师
技能:Python, Java, C++
工作经验
2018-2020: 软件开发工程师,ABC公司
- 负责开发和维护公司的核心产品
- 使用Python和Java进行后端开发
2020-至今: 高级软件工程师,XYZ公司
- 领导团队完成多个大型项目
- 优化系统性能,提高代码质量
无语,社区不够活跃啊,问题三天没人回复😂,
在HarmonyOS鸿蒙Next中,PhotoViewPicker
是一个用于选择图片的组件。要获取图片的原始信息,可以通过 PhotoViewPicker
的 select
方法返回的 PhotoSelectResult
对象来获取。PhotoSelectResult
包含了用户选择的图片的详细信息,包括图片的URI、文件大小、文件类型等。
具体步骤如下:
- 使用
PhotoViewPicker
的select
方法启动图片选择器。 - 在
select
方法的回调中,获取PhotoSelectResult
对象。 - 通过
PhotoSelectResult
对象的getOriginalUri
方法获取图片的原始URI。 - 使用
File
或InputStream
等API读取URI对应的文件内容,从而获取图片的原始信息。
示例代码片段:
import photoViewPicker from '@ohos.file.photoviewpicker';
let photoSelectOptions = new photoViewPicker.PhotoSelectOptions();
photoSelectOptions.MIMEType = photoViewPicker.PhotoViewMIMETypes.IMAGE_TYPE;
photoSelectOptions.maxSelectNumber = 1;
photoViewPicker.select(photoSelectOptions).then((photoSelectResult) => {
let originalUri = photoSelectResult.photoUris[0];
// 使用originalUri获取图片的原始信息
}).catch((err) => {
console.error(`PhotoViewPicker failed, code is ${err.code}, message is ${err.message}`);
});
在HarmonyOS鸿蒙Next中,使用PhotoViewPicker
获取图片的原始信息,可以通过PhotoViewPicker
的select
方法选择图片,并获取其URI。然后,使用Image
组件的getImageInfo
方法获取图片的详细信息,包括宽度、高度、格式等。具体代码如下:
let photoPicker = new picker.PhotoViewPicker();
photoPicker.select().then((photoSelectResult) => {
let uri = photoSelectResult.photoUris[0];
image.getImageInfo(uri).then((imageInfo) => {
console.log("Image width: " + imageInfo.size.width);
console.log("Image height: " + imageInfo.size.height);
console.log("Image format: " + imageInfo.mimeType);
});
});