SaveButton().backgroundColor(Color.White).height(50).fontSize(14).iconColor('#333').fontColor('#333333').onClick(async (event: ClickEvent, result: SaveButtonOnClickResult) => {
if (result == SaveButtonOnClickResult.SUCCESS) {
try {
if (this.clickAction) {
this.clickAction(index)
}
this.controller.close()
} catch (err) {
console.error("error is " + JSON.stringify(err))
}
} else {
AlertDialog.show({ message: "设置权限失败" })//这里涉及到安全控件的要求 仔细看文档 不要轻易改变空间的背景色间距 大小
}
})
loadVideoWithUrl(url:string) {
// 使用request下载图片并在回调函数中保存图片到相册
http.createHttp().request(url,
{
method:http.RequestMethod.GET,
connectTimeout:60000,
readTimeout:60000,
// expectDataType: 2,//---.MP4使用这个
},
async (error: BusinessError, data: http.HttpResponse) => {
if (error) {
console.error(`http reqeust failed with. Code: ${error.code}, message: ${error.message}`);
} else {
if (HttpConstants.SUCCESS_CODE === data.responseCode) {
let videoBuffer: ArrayBuffer = data.result as ArrayBuffer;
try {
// 获取相册路径
const context = getContext(this);
let helper = photoAccessHelper.getPhotoAccessHelper(context);
let uris=url.split('.')
let uri = await helper.createAsset(photoAccessHelper.PhotoType.IMAGE, uris[uris.length-1])//图片类别以及图片的后缀名.png.mp4
let file = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE)
// 写入文件
await fs.write(file.fd, videoBuffer);
// 关闭文件
await fs.close(file.fd);
ToastUtil.showToast('已保存至相册');
} catch (error) {
console.error("error is "+ JSON.stringify(error))
}
} else {
console.error("error occurred when image downloaded!")
}
}
})