uniapp不使用 uni.openDocument打开文件
时间: 2023-12-22 17:05:32 浏览: 270
如果您不想使用 `uni.openDocument` API 打开文件,您可以考虑使用其他方式打开文件,比如使用第三方插件或者自定义组件等。
以下是两个示例:
1. 使用第三方插件:
可以使用 uni-app 社区中的一些第三方插件来实现打开文件的功能,例如 `uni-file-picker` 插件。这个插件可以选择文件并返回文件的本地路径,您可以使用这个路径来打开文件。
安装插件:
```
npm install uni-file-picker --save
```
使用插件:
```javascript
import filePicker from 'uni-file-picker'
// 选择文件
filePicker.chooseFile({
success: (res) => {
// res.tempFilePaths 为文件的本地临时路径
// 这里可以使用自己的方式打开文件
}
})
```
2. 自定义组件:
您可以自定义一个组件来实现打开文件的功能。在组件中,可以使用 `wx.chooseMessageFile` API 选择文件并返回文件的临时路径,然后使用 `wx.openDocument` API 打开文件。
组件示例:
```html
<template>
<button @click="openFile">打开文件</button>
</template>
<script>
export default {
methods: {
openFile() {
wx.chooseMessageFile({
count: 1,
type: 'file',
success: (res) => {
wx.openDocument({
filePath: res.tempFiles[0].path,
fileType: 'txt',
success: () => {
console.log('打开文件成功')
},
fail: () => {
console.log('打开文件失败')
}
})
},
fail: () => {
console.log('选择文件失败')
}
})
}
}
}
</script>
```
注意:在使用 `wx.chooseMessageFile` 和 `wx.openDocument` API 时,需要将 `type` 和 `fileType` 参数设置为要打开的文件类型,这里以打开 txt 文件为例,需要将类型设置为 `file`,文件类型设置为 `txt`。
阅读全文