【问题标题】:Convert File to base64 in Nativescript在 Nativescript 中将文件转换为 base64
【发布时间】:2021-07-05 18:03:35
【问题描述】:

我一直在尝试获取Nativescript文件的base64,到目前为止我已经尝试了下一个:

    const documents: Folder = <Folder>knownFolders.documents();
    const folder: Folder = <Folder>documents.getFolder("Download");
    const file: File = <File>folder.getFile("Vista general Aguas.pdf");
    
    const toBase64 = (fle: File) => new Promise((resolve, reject) => {
        const reader = new FileReader();
        const newFile = fle.readSync(err => console.log(err));

// I know that I have to convert the binary to base64, but I'm getting this [B@9b1d878 in newFile
        reader.readAsDataURL(newFile);
        reader.onload = () => resolve(reader.result);
        reader.onerror = error => reject(error);
    });

    toBase64(file).then(result => console.log('64', result));

感谢任何帮助!

【问题讨论】:

    标签: nativescript angular2-nativescript nativescript-angular


    【解决方案1】:

    我使用本机实现创建了函数。该函数返回base64字符串。

    public getBase64String = (path) => {
        const sourceFile: fs.File = fs.File.fromPath(path);
        const data = sourceFile.readSync();
        if (isIOS) {
            return data.base64EncodedStringWithOptions(0);
        } else {
            return android.util.Base64.encodeToString(
                data,
                android.util.Base64.NO_WRAP
            );
        }
    };
    

    【讨论】:

    • 我试过你的解决方案,但我没有得到任何信息,它就像一个空字符串。我还有其他方法可以尝试吗?
    • 在调用此方法之前,您是否获得了正确的文档路径?
    • 非常感谢@ParthPatel,我试图将文件转换为base64 2 dyas,但没有找到任何解决方案。我测试了你的代码,它工作正常。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    相关资源
    最近更新 更多