uniapp で画像のアップロードとプレビューを実装する方法
最新のソーシャル ネットワークや電子商取引アプリケーションでは、画像のアップロードとプレビュー機能は非常に一般的な要件です。この記事では、uniappに画像アップロード機能とプレビュー機能を実装する方法と具体的なコード例を紹介します。
1. 画像アップロード機能の実装
<template> <view> <image v-for="(item, index) in images" :key="index" :src="item.url"></image> <button @tap="chooseImage">选择图片</button> <button @tap="uploadImage">上传图片</button> </view> </template> <script> export default { data() { return { images: [], // 用于存储选择的图片 } }, methods: { chooseImage() { uni.chooseImage({ count: 9, // 最多选择9张图片 success: (res) => { this.images = this.images.concat(res.tempFilePaths) } }) }, uploadImage() { this.images.forEach((item, index) => { uni.uploadFile({ url: 'http://example.com/upload', // 上传图片的接口地址 filePath: item, name: 'file', success: (res) => { console.log(res.data) // 上传成功后的返回数据 } }) }) } } } </script>
<template> <view> <image v-for="(item, index) in images" :key="index" :src="item.url" @tap="previewImage(index)"></image> <button @tap="chooseImage">选择图片</button> <button @tap="uploadImage">上传图片</button> </view> </template> <script> export default { data() { return { images: [], // 用于存储选择的图片 } }, methods: { chooseImage() { uni.chooseImage({ count: 9, // 最多选择9张图片 success: (res) => { const tempImages = res.tempFilePaths.map((item) => { return { url: item } }) this.images = this.images.concat(tempImages) } }) }, uploadImage() { // 省略上传图片的代码 }, previewImage(index) { const urls = this.images.map((item) => { return item.url }) uni.previewImage({ urls: urls, current: index // 当前预览的图片索引 }) } } } </script>
以上がuniappで画像のアップロードとプレビューを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。