在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) => {},
				
				});            

  

 

posted @ 2023-09-05 14:19  Peter.seven  阅读(444)  评论(0编辑  收藏  举报