在 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 文件链接。同时,注意处理可能出现的各种错误情况,以提供更好的用户体验。