在uniapp中如何将PDF或者XML文件转化成base64?
场景:如何将获取到的内网服务器的文件,传给我们的后台,把文件保存下来?
1.使用uni.downloadFile() 获取到文件的临时路径
2.uniapp导入安装的的插件“image-tools”,把临时路径转化成base64传给后台。
注意点:如果同时解析多个xml文件,后台可能会接收到乱码的情况,此时需要将base64使用encodeURIComponent编码后再传给后台,这样就可以防止解析报错,原因是因为xml文件在传输到后台时,里面的+号会被替换成空格,所以需要编码后传输。
下面上代码:
import { pathToBase64 } from 'image-tools'
uni.downloadFile({ url: curUrl, //仅为示例,并非真实的资源 success: (res) => { console.log('下载成功',res) pathToBase64(res.tempFilePath) .then(base64 => { // 获取到base64 }) .catch(error => { console.error(error) }) }, complete: (res) => {}, });