uniapp微信小程序uni.chooseVideo得到的临时路径如何传递给后端
时间: 2024-11-25 10:11:43 浏览: 39
在UniApp中,当你通过`uni.chooseVideo`获取到用户的视频文件的临时路径后,通常这个路径是一个本地存储的URL,由于安全性考虑,直接将这个路径作为表单数据提交给后端服务器可能会有风险,因为这种路径在后台无法持久化,并且容易暴露敏感信息。
正确的做法是先将视频上传到服务器的临时存储空间(例如七牛云、阿里云OSS等),然后返回上传后的唯一标识(如文件ID)。你可以使用UniApp提供的`uni.upLoadFile` API来进行文件上传,并设置回调函数,在回调中处理成功后的文件ID。之后,可以将这个文件ID作为参数安全地发送给后端服务器。
在后端接收到请求后,再使用该ID从服务器的临时存储中下载或操作文件。以下是简单的步骤:
1. **前端**:
```javascript
uni.chooseVideo({
success: function(res) {
let tempFilePath = res.tempFilePath;
uni.upLoadFile({
url: '你的后端API地址', // 替换为你实际的上传接口
filePath: tempFilePath,
name: 'video.mp4',
formData: { key: 'fileKey'}, // 自定义字段,用于识别文件
header: {
'content-type': 'multipart/form-data'
},
complete: function(e) {
if (e.code === 0) {
let fileId = e.result.key; // 获取文件ID
// 发送带有fileId的POST请求给后端
uni.request({
url: '后端处理文件的接口',
data: { fileId: fileId },
method: 'post',
// ...
});
}
}
});
}
});
```
2. **后端**:
- 接收并处理POST请求,保存文件到正式的存储位置;
- 返回确认信息或文件的访问链接给前端。
阅读全文