如何删除使用nativescript-camera创建的NativeScript ImageAsset?

时间:2018-04-30 11:38:30

标签: angular nativescript

import { takePicture, CameraOptions } from "nativescript-camera";

CameraOptions允许saveToGallery设置为false。 但是,图像存储在我的Android设备上的内部存储> Android>数据> org.nativescript.appname>我使用takePicture创建ImageAsset时的文件。资产(asset.android)的控制台输出是:

/storage/emulated/0/Android/data/org.nativescript.HelloWorld/files/NSIMG_20180430_131826.jpg

我使用imageSource.ImageSource().fromAssetimageSource.ImageSource.saveToFile将图片保留在某个已知位置,现在我想完全从我的设备删除源文件NSIMG_20180430_131826.jpg

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下代码:

try {
    //get file
    const path = "/storage/emulated/0/Android/data/org.nativescript.HelloWorld/files/NSIMG_20180430_131826.jpg";

    const pathArray = path.split('/');
    //get file name
    const fileToRemovePath = pathArray[pathArray.length - 1];
    //remove the file, try adding 'files' as a folder name
    let folder = fs.knownFolders.currentApp().getFolder("yourfoldernamewhereyoucopied");
    const fileToRemove = folder.getFile(fileToRemovePath);
    if(fileToRemove) {
        //delete it
        await fileToRemove.remove();
    }
} catch (e) {
    //dialogs.alert('Couldnot delete the file');
}

,您还需要导入fs

import * as fs from "file-system";