把Blob对象转换成Base64编码字符串 let reader = new FileReader(); reader.readAsDataURL(blob); reader.onload = function() { let base64data = reader.result; }; 判断是小程序环境,使用[wx.fileSystemManager.writeFileSync](https://link.segmentfault.com/?enc=SktlXbXCXbFkZl1eMs%2B19Q%3D%3D.y3X920UQg3K6Mwjx%2BcS0Wr1emdPD4IQiiUAZ4tTgqA%2FjAS6WoyHXdl7hCeCxuWTDqlK2FHVkxoD8B2XI8K6A7TS3OcGrv86DLo2FKjtrSuCZgA5zj6Kb%2FBpEpxruOX3S)把Base64编码数据写入临时文件中,然后使用[wx.downloadFile](https://link.segmentfault.com/?enc=moy4LCvyqN9XwIGqN%2BQzdg%3D%3D.nzze7lMFjZa02gcJ8po1HO75IOkvvmn1jcYhd%2BOo37bQKBDPHQEDrNNeq%2BbxcgU3G31z3Qs7BNiUeH6lH0l8eCr2NqyflGR8vXUxQCBlpMi9tL18mVtxHU4rh%2FpXvpw4)下载保存的本地临时文件,下载成功后使用[wx.openDocument](https://link.segmentfault.com/?enc=WlaAnWGfOdYUwsrhOP2Rog%3D%3D.Ghdl0HclIURyRFNjgag6NRo7VRQaJb5CRQCmL0yDyClrjRPz3n0Qa0TP5W6l5o5Q%2FeSzg99JH9hqjwUdDloIq25kUgF3335x5W6G2EdzWKo%3D)打开文件 wx.fileSystemManager.writeFileSync(wx.env.USER_DATA_PATH + '/tempFile.txt', base64data.split(',')[1], 'base64'); wx.downloadFile({ url: wx.env.USER_DATA_PATH + '/tempFile.txt', success: function(res) { if (res.statusCode === 200) { wx.openDocument({ filePath: res.tempFilePath, success: function(res) { console.log('打开文档成功'); } }); } } });