5 回复
可以使用 uni.chooseFile api
什么叫非图片视频?
有问题可以 联系qq37894663 详聊
专业插件开发 q 1196097915
https://ask.dcloud.net.cn/question/91948
针对您提出的uni-app文件选择插件需求,以下是一个使用uni-app实现文件选择的示例代码。这个示例将展示如何使用uni-app的文件选择器组件来选择文件,并处理选择的文件。
首先,确保您的uni-app项目已经创建并配置好。然后,您可以在页面的.vue
文件中添加以下代码:
<template>
<view>
<button @click="chooseFile">选择文件</button>
<view v-if="fileList.length">
<view v-for="(file, index) in fileList" :key="index">
<text>文件名: {{ file.name }}</text>
<text>文件路径: {{ file.path }}</text>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
fileList: [] // 存储选择的文件列表
};
},
methods: {
chooseFile() {
// 调用uni.chooseFile接口选择文件
uni.chooseFile({
count: 9, // 最多可以选择的文件个数
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: (res) => {
// tempFilePath可以作为img标签的src属性显示图片
const tempFilePaths = res.tempFilePaths;
this.fileList = tempFilePaths.map((path, index) => ({
name: `文件${index + 1}`, // 这里简单地用索引命名,实际应用中可以从路径中提取文件名
path
}));
console.log('选择的文件列表:', this.fileList);
},
fail: (err) => {
console.error('选择文件失败:', err);
}
});
}
}
};
</script>
<style scoped>
/* 添加一些简单的样式 */
button {
margin: 20px;
padding: 10px;
background-color: #007aff;
color: white;
border: none;
border-radius: 5px;
}
view {
margin-top: 20px;
}
text {
display: block;
margin: 5px 0;
}
</style>
在这个示例中,我们定义了一个fileList
数组来存储选择的文件列表。当用户点击“选择文件”按钮时,会调用uni.chooseFile
接口来选择文件。选择成功后,将选择的文件路径存储到fileList
数组中,并在页面上显示文件名和文件路径。
请注意,uni.chooseFile
接口返回的文件路径是临时路径,适用于在页面上显示或上传到服务器。如果您需要将文件保存到应用的本地存储中,可以使用uni.saveFile
接口将临时文件保存到本地。
希望这个示例能够满足您的需求。如果您有其他问题或需要进一步的帮助,请随时告诉我。