uni-app 文件选择插件需求

发布于 1周前 作者 ionicwang 来自 Uni-App

uni-app 文件选择插件需求

都2024年了,APP连个可选择非图片视频的官方插件都没有。。。

5 回复

可以使用 uni.chooseFile api


什么叫非图片视频?

有问题可以 联系qq37894663 详聊

针对您提出的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接口将临时文件保存到本地。

希望这个示例能够满足您的需求。如果您有其他问题或需要进一步的帮助,请随时告诉我。

回到顶部