已知相册图片和视频的uri,如何用流读取这些信息,然后将其传送给后端?
现在我已经获得到了相册图片/视频的URI,那么如何用流读取到他们,然后将流传给后端?
鸿蒙
相册图片
URI
赞
收藏 0
回答 1
待解决
相关问题
如何读取相册中的图片
251浏览 • 1回复 待解决
获取相册图片信息,获取手机相册中的图片相关信息
452浏览 • 1回复 待解决
如何根据uri读取文件?
1880浏览 • 1回复 待解决
关于视频流格式和如何保存咨询
647浏览 • 1回复 待解决
如何用websocket发送音频流?
2505浏览 • 1回复 待解决
HTTP如何用POST请求发送对象数组给后端
1161浏览 • 0回复 已解决
如何用PixelMap处理图片
626浏览 • 1回复 待解决
TV 中如何用Java播放本地视频
8190浏览 • 2回复 待解决
如何通过读取.app文件的方式获取包名和mainAbility信息
666浏览 • 1回复 待解决
关于如何使用鸿蒙接收视频流
2285浏览 • 0回复 待解决
如何打开相机:如何用代码打开一个系统相机,拍照后返回一个图片流。
670浏览 • 1回复 待解决
读取文件流的方式,有人知道吗?
677浏览 • 1回复 待解决
请问视频流支持哪些格式
178浏览 • 1回复 待解决
Harmony 如何读取本地视频文件路径?
13353浏览 • 2回复 待解决
如何调用相机开放的接口,拍照并获取拍照的图片uri
323浏览 • 1回复 待解决
如何将视频保存到相册以及主机端
4268浏览 • 1回复 待解决
如何保存本地图片到相册中
253浏览 • 1回复 待解决
如何保存网络图片到相册
241浏览 • 1回复 待解决
如何对相册图片进行编辑裁剪
853浏览 • 1回复 待解决
AVMetadataHelper怎么读取media里的视频文件?
4298浏览 • 1回复 待解决
PixelMap怎么加载通过图片选择器返回的Uri路径图片
1002浏览 • 1回复 待解决
拉起相册选择图片页面失败
613浏览 • 1回复 待解决
求大佬告知如何保存图片到相册
396浏览 • 1回复 待解决
OpenHarmony 设备 如何往相册传个图片
1273浏览 • 2回复 待解决
鸿蒙开发中如何用canvas实现图片的运动效果
2535浏览 • 1回复 待解决
可以参考如下代码获取图片uri,在根据uri获取图片转换成数据流:
DataAbilityHelper helper = DataAbilityHelper.creator(this);
ResultSet resultSet;
ImageSource imageSource = null;
try {
resultSet = helper.query(AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI, new String[]
{AVStorage.Images.Media.ID, AVStorage.Images.Media.DISPLAY_NAME}, null);
while (resultSet != null && resultSet.goToNextRow()) {
int id = resultSet.getInt(resultSet.getColumnIndexForName(AVStorage.Images.Media.ID));
String imageName = resultSet.getString(resultSet.getColumnIndexForName(
AVStorage.Images.Media.DISPLAY_NAME));
Image image = new Image(this);
image.setMarginsLeftAndRight(PADDING, PADDING);
image.setMarginsTopAndBottom(PADDING, PADDING);
map.put(id, imageName);
image.setId(id);
image.setTag(imageName);
// 获取id字段的值
Uri uri = Uri.appendEncodedPathToUri(AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI,
String.valueOf(id));
FileDescriptor fd = helper.openFile(uri, "r");
// 1、根据fd获取图片转换成流-用户可自己实现
// 2、TODO...
// 将图片展示到页面
ImageSource.DecodingOptions decodingOpts = new ImageSource.DecodingOptions();
decodingOpts.desiredSize = new Size(imageSize, imageSize);
imageSource = ImageSource.create(fd, null);
PixelMap pixelMap = imageSource.createPixelmap(decodingOpts);
image.setPixelMap(pixelMap);
tableLayout.addComponent(image);
}
} catch (FileNotFoundException | DataAbilityRemoteException e) {
LogUtils.error(TAG, "FileNotFoundException | DataAbilityRemoteException e" + e);
} finally {
if (imageSource != null) {
imageSource.release();
}
}