在 uni-app 开发中,有时需要动态创建文件上传组件。以下是使用 input 元素和 flyio 实现文件上传的示例代码。
文件上传初始化
1 2 3 4 5 6 7 8 9 10 11 12
| function initUploadFile() { let input = document.createElement("input"); input.type = "file"; input.classList = "input_file"; input.onchange = (e) => { this.ChooseFile(e); }; this.$refs.input.$el.appendChild(input); }
|
上传附件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| function ChooseFile(e) { let form = new FormData(); let sourceId = this.id; let files = e.target.files[0]; form.append("files", files); form.append("sourceId", sourceId); this.$fly .post(`UploadFile_url`, form) .then((res) => { }) .catch((err) => { }); }
|
注意事项
- 确保在使用前已经引入并配置好
flyio 库
this.$refs.input.$el 需要指向一个有效的 DOM 元素
- 文件上传接口地址
UploadFile_url 需要替换为实际的上传地址
- 根据实际需求调整
FormData 中的字段名称和值