HarmonyOS 鸿蒙Next调起文件管理器选择文件或图片后如何获取文件的大小
HarmonyOS 鸿蒙Next调起文件管理器选择文件或图片后如何获取文件的大小
获取到的路径是 file://docs/storage/Users/currentUser/tesst/1.jpg
let file = fileIo.openSync(path, fileIo.OpenMode.READ_ONLY);
let buffer = new ArrayBuffer(4096);
let readLen = fileIo.readSync(file.fd, buffer);
fileIo.closeSync(file);
上面这个方法读出来是4096kb
更多关于HarmonyOS 鸿蒙Next调起文件管理器选择文件或图片后如何获取文件的大小的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
将文件复制到沙箱目录里面,然后就可以读取其大小。
import fs from '@ohos.file.fs';
export class test{
private copySandBoxFileToPub(): void {
let sanFile: fs.File = null!;
let pubFile: fs.File = null!;
let originUploadPath = 'file://docs/storage/Users/currentUser/Documents/temp/testPdf.pdf'
let targetUploadPath = getContext(this).cacheDir + '/test.pdf';
sanFile = fs.openSync(originUploadPath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
pubFile = fs.openSync(targetUploadPath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
fs.copyFileSync(sanFile.fd, pubFile.fd);
// 文件大小:
console.log("fs.statSync(targetUploadPath).size" + fs.statSync(targetUploadPath).size.toString())
}
}
更多关于HarmonyOS 鸿蒙Next调起文件管理器选择文件或图片后如何获取文件的大小的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙Next)中,调起文件管理器选择文件或图片后,可以通过Ability
和File
模块获取文件的大小。具体步骤如下:
-
调起文件管理器:使用
startAbilityForResult
方法调起文件管理器,允许用户选择文件或图片。 -
获取文件URI:在
onAbilityResult
回调中,通过Intent
获取用户选择的文件URI。 -
获取文件大小:使用
File
模块的File
类,通过getFileSize
方法获取文件的大小。
示例代码如下:
import featureAbility from '@ohos.ability.featureAbility';
import file from '@ohos.file';
// 调起文件管理器
let intent = {
action: "ohos.intent.action.PICK",
parameters: {
"ohos.intent.extra.PICKED_FILE": true
}
};
featureAbility.startAbilityForResult(intent)
.then(data => {
if (data.resultCode === 0) {
let uri = data.want.uri;
getFileSize(uri);
}
})
.catch(error => {
console.error(`Failed to start ability: ${error}`);
});
// 获取文件大小
function getFileSize(uri) {
file.File.open(uri, file.OpenMode.READ_ONLY)
.then(fileObj => {
let size = fileObj.getFileSize();
console.log(`File size: ${size} bytes`);
fileObj.close();
})
.catch(error => {
console.error(`Failed to get file size: ${error}`);
});
}
在上述代码中,getFileSize
函数通过File
类的getFileSize
方法获取文件的大小,并输出到控制台。