已知相册图片和视频的uri,如何用流读取这些信息,然后将其传送给后端?
现在我已经获得到了相册图片/视频的URI,那么如何用流读取到他们,然后将流传给后端?
鸿蒙
相册图片
URI
赞
收藏 0
回答 1
待解决
相关问题
如何根据uri读取文件?
557浏览 • 1回复 待解决
如何用websocket发送音频流?
1127浏览 • 1回复 待解决
关于如何使用鸿蒙接收视频流
1135浏览 • 0回复 待解决
HTTP如何用POST请求发送对象数组给后端
214浏览 • 0回复 已解决
Harmony 如何读取本地视频文件路径?
11545浏览 • 2回复 待解决
如何将视频保存到相册以及主机端
3212浏览 • 1回复 待解决
TV 中如何用Java播放本地视频
7002浏览 • 2回复 待解决
鸿蒙JS 图片读取 请问怎么读取到摄像机拍摄的图片?
840浏览 • 1回复 待解决
OpenHarmony 设备 如何往相册传个图片
276浏览 • 2回复 待解决
鸿蒙开发中如何用canvas实现图片的运动效果
1684浏览 • 1回复 待解决
如何用PixelMap实现图片的水平镜像?不借用Canvas
5078浏览 • 1回复 待解决
鸿蒙请求相册和相机的demo?
3154浏览 • 1回复 待解决
AVMetadataHelper怎么读取media里的视频文件?
3138浏览 • 1回复 待解决
使用HiLog 打印日志,这些信息是什么意思?
458浏览 • 1回复 待解决
HarmonyOS-Sequenceable(序列化)中,URI类型如何实现读取序列化对象
8724浏览 • 3回复 已解决
怎么把视频保存到相册以及主机端?
1969浏览 • 1回复 待解决
分布式如何读写图库图片或者视频?
2510浏览 • 1回复 待解决
如何用Harmony调用原生相机拍照 并获取图片?
1599浏览 • 1回复 待解决
请问,鸿蒙os,js如何和后端java交互数据?
13115浏览 • 4回复 已解决
进入相册或拍照选择图片做头像
11070浏览 • 2回复 已解决
从本机获取图片进行上传到spring后端
312浏览 • 1回复 待解决
在OpenHarmony系统下,使用JS开发应用,用video组件可以直接播放HLS的视频流嘛?
1593浏览 • 1回复 待解决
JS下如何获得设备Device的信息,和某个div的xy坐标?
4162浏览 • 1回复 待解决
如何删除已完成的redis流事件?
620浏览 • 1回复 待解决
JS 如何实现登录 连接后端?
1520浏览 • 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();
}
}