uniapp获取文件原始路径
时间: 2023-08-12 17:10:28 浏览: 417
在uniapp中,你可以使用uni-app提供的API来获取文件的原始路径。具体步骤如下:
1. 首先,你需要获取到文件的临时路径,可以通过uni.chooseImage等API获取。
2. 使用uni.getFileInfo方法获取文件信息。该方法接受一个参数,即文件路径,可以使用上一步获取到的临时路径。
3. 在getFileInfo的回调函数中,可以获取到文件的原始路径,即res.path。
以下是示例代码:
```
uni.chooseImage({
success: function (res) {
// 获取临时路径
var tempFilePaths = res.tempFilePaths;
// 获取文件信息
uni.getFileInfo({
filePath: tempFilePaths[0],
success: function (res) {
// 获取文件原始路径
var filePath = res.path;
console.log(filePath);
}
});
}
});
```
注意:获取文件原始路径需要在getFileInfo的回调函数中进行,因为该方法是异步的。
相关问题
uniapp 获取路径参数
在 UniApp 中,你可以使用 `uni.getLaunchOptionsSync()` 方法来获取启动参数,包括路径参数。具体步骤如下:
1. 在需要获取路径参数的页面或组件中,引入 UniApp 的全局对象:`import uni from 'uni-app'`。
2. 使用 `uni.getLaunchOptionsSync()` 方法获取启动参数。该方法返回一个对象,其中的 `query` 字段包含了路径参数。例如:
```js
import uni from 'uni-app'
export default {
created() {
const launchOptions = uni.getLaunchOptionsSync()
const pathParams = launchOptions.query
console.log(pathParams)
}
}
```
在上述代码中,`pathParams` 变量将包含从路径中获取的参数。你可以根据需要进一步处理这些参数。
注意:`uni.getLaunchOptionsSync()` 方法只能在应用启动时获取到启动参数,如果你需要在应用运行时获取路径参数,可以考虑使用 `uni.onAppRoute()` 监听路由变化事件,并从事件对象中获取路径参数。
uniapp获取图片文件
在uniapp中获取图片文件可以通过以下步骤实现:
1. 使用uni.request方法发送GET请求获取图片的arraybuffer格式数据。
2. 将arraybuffer格式数据转换为base64格式路径。
3. 使用image-tools中的方法将base64格式路径转换为普通路径,用于预览。
4. 使用uni.previewImage方法预览图片。
以下是示例代码:
```javascript
// 获取arraybuffer格式数据
let res = await uni.request({
method: "GET",
url: /* 请求路径 */,
params: { id },
responseType: "arraybuffer"
})
// 转换为base64格式路径
const base64Src = 'data:image/png;base64,' + uni.arrayBufferToBase64(res.data);
// 将base64路径转为普通路径,用于预览
const path = await base64ToPath(base64Src);
// 预览图片
uni.previewImage({
urls: [path], // 预览的图片路径数组
current: 0, // 打开的图片在数组中的索引
longPressActions: { // 长按图片出现的提示保存图片的弹框
itemList: ['保存图片'],
success: (data) => {
// 保存图片到本地相册
uni.saveImageToPhotosAlbum({
filePath: path,
success: function() {
uni.showToast({ title: '保存成功', icon: 'none' })
},
fail: function() {
uni.showToast({ title: '保存失败', icon: 'none' })
}
});
},
fail: (err) => {
console.log(err.errMsg);
}
}
});
```