12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <template>
- <view>
- <!-- 上传文件组件 -->
- <u-upload :action="uploadUrl" :file-list="fileList" @after-read="afterRead" @oversize="onOversize"
- @delete="onDelete"></u-upload>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- // 上传文件的服务器地址
- uploadUrl: 'https://your-upload-api.com/upload',
- // 文件列表
- fileList: [],
- };
- },
- methods: {
- // 文件读取后的钩子
- afterRead(event) {
- // 这里可以添加文件上传前的处理逻辑
- // 例如:检查文件大小、类型等
- // 然后执行上传操作
- this.uploadFile(event.file);
- },
- // 文件超出大小限制时触发
- onOversize(event) {
- this.$u.toast(`文件超出限制的大小`);
- },
- // 删除文件的钩子
- onDelete(file, index) {
- // 这里可以添加删除文件的处理逻辑
- // 例如:从服务器删除文件
- this.fileList.splice(index, 1);
- },
- // 上传文件的方法
- uploadFile(file) {
- // 创建formData
- const formData = new FormData();
- formData.append('file', file);
- // 这里使用uni.uploadFile进行文件上传,你也可以使用其他方式
- uni.uploadFile({
- url: this.uploadUrl,
- filePath: file,
- name: 'file',
- formData: formData,
- success: (uploadFileRes) => {
- console.log('uploadFile success:', uploadFileRes);
- // 上传成功后的处理逻辑,例如将文件地址保存到fileList
- },
- fail: (error) => {
- console.error('uploadFile fail:', error);
- // 上传失败的处理逻辑
- },
- });
- },
- },
- };
- </script>
- <style>
- </style>
|