在 uniapp 中使用uni.saveFile
保存下载的 MP3 文件,一般需要先通过uni.downloadFile
下载文件,再使用uni.saveFile
保存到本地。以下是一个示例代码:
<template> <view class="container"> <button @click="downloadAndSave">下载并保存MP3</button> </view> </template> <script> export default { methods: { downloadAndSave() { const mp3Url = 'https://example.com/your-music-file.mp3'; // 替换为实际的MP3文件链接 uni.downloadFile({ url: mp3Url, success: (downloadRes) => { if (downloadRes.statusCode === 200) { uni.saveFile({ tempFilePath: downloadRes.tempFilePath, success: (saveRes) => { uni.showToast({ title: '保存成功', icon:'success' }); console.log('文件已保存到', saveRes.savedFilePath); }, fail: (err) => { uni.showToast({ title: '保存失败', icon: 'none' }); console.error('保存文件失败', err); } }); } else { uni.showToast({ title: '下载失败', icon: 'none' }); console.error('下载文件失败,状态码:', downloadRes.statusCode); } }, fail: (err) => { uni.showToast({ title: '下载失败', icon: 'none' }); console.error('下载文件失败', err); } }); } } }; </script> <style scoped> .container { padding: 20px; } </style>
在上述代码中:
定义了一个按钮,点击按钮触发downloadAndSave
方法。
在downloadAndSave
方法中,首先指定了 MP3 文件的下载链接(需要替换为真实链接)。
使用uni.downloadFile
下载文件,下载成功且状态码为 200 时,再调用uni.saveFile
将临时文件保存到本地。
根据保存结果,通过uni.showToast
显示相应的提示信息,并在控制台打印相关日志。
请确保在实际使用时,将mp3Url
替换为真实有效的 MP3 文件链接。同时,注意处理可能出现的各种错误情况,以提供更好的用户体验。