// #ifdef APP-PLUS
// App端使用文件系统
return new Promise((resolve, reject) => {
console.log('开始处理App端分片...')
try {
// 获取应用私有目录
const tempDir = plus.io.convertLocalFileSystemURL('_doc/')
console.log('临时目录:', tempDir)
// 创建临时文件路径
const chunkFileName = `chunk_${Date.now()}.mp4`
const chunkPath = `${tempDir}${chunkFileName}`
console.log('临时文件路径:', chunkPath)
// 使用uni.getFileSystemManager()创建临时文件
const fs = uni.getFileSystemManager()
// 读取源文件
fs.readFile({
filePath: filePath,
success: (res) => {
console.log('源文件读取成功,开始处理分片')
try {
// 获取分片数据
const arrayBuffer = res.data
const uint8Array = new Uint8Array(arrayBuffer)
const chunk = uint8Array.slice(start, end)
// 写入分片文件
fs.writeFile({
filePath: chunkPath,
data: chunk,
success: () => {
console.log('分片文件写入成功')
resolve(chunkPath)
},
fail: (err) => {
console.error('分片文件写入失败:', err)
reject(err)
}
})
} catch (error) {
console.error('数据处理失败:', error)
reject(error)
}
},
fail: (err) => {
console.error('源文件读取失败:', err)
reject(err)
}
})
} catch (error) {
console.error('创建分片文件时出错:', error)
reject(error)
}
})
// #endif
2 个回复
6***@qq.com - domor耳标APP
大佬,这个问题解决了吗?我也遇到了同样的问题
蔡cai - 开发的插件:https://ask.dcloud.net.cn/article/41539
uniapp x文档地址:https://doc.dcloud.net.cn/uni-app-x/api/get-file-system-manager.html
uniapp plus.io文档地址:https://www.html5plus.org/doc/zh_cn/io.html