Home Web Front-end uni-app How to solve the problem that the selected album pictures are not displayed in the uniapp project

How to solve the problem that the selected album pictures are not displayed in the uniapp project

Apr 06, 2023 pm 02:21 PM

In the process of developing using Uniapp, we often need to use the function of selecting album pictures. However, sometimes we encounter the problem that the pictures are not displayed after selection. In this article, I will explain why this problem occurs and how to solve it.

1. Why does the album picture not display?

1. Permission issues

In the Android system, we need to dynamically apply for permission to read external storage before we can access the album. If we do not apply for permission successfully, then the pictures in the album will not be able to access the photo album. is read and cannot be displayed.

2. Data type issue

When calling the API for selecting album pictures, we need to return an array to load the selected pictures, but sometimes data may appear in our code A type mismatch problem prevents the selected image from being displayed on the page.

3. Path problem

The pictures selected in the album need to be displayed using the path of the picture when transferred to the front-end page, but if our path is written incorrectly or the file name does not match, it will also cause The selected image cannot be displayed properly.

2. How to solve the problem of album pictures not being displayed?

1. Check permission issues

When selecting album pictures, we need to apply for permission to read external storage. If our permission application is unsuccessful, we need to check. You can solve the permission problem through the following steps:

(1) Add the permission to read external storage in the manifest.json file:

"android": {
    "permission": [
      "android.permission.READ_EXTERNAL_STORAGE"
    ]
  }
Copy after login

(2) When you want to use the function of selecting album pictures In the page, use the uni.requestAuthorize method to apply for permission:

uni.requestAuthorize({
    scope: 'scope.writePhotosAlbum',
    success() {
        console.log('授权成功')
    },
    fail() {
        console.log('授权失败')
    }
})
Copy after login

2. Check the data type problem

If our data type does not match, the selected image cannot be displayed normally on the page . We need to pay attention to the data type used in the code, such as the following example:

data() {
    return {
       imgList: [],
    }
},
methods: {
    chooseImage(){
        uni.chooseImage({
            count: 3,
            sizeType: ['original', 'compressed'],
            sourceType: ['album', 'camera'],
            success: function (res) {
                this.imgList = res.tempFilePaths; // 选择图片成功后将图片路径存入imgList数组
            }
        })
    }
}
Copy after login

In the above code, we store the temporary path of the selected image in the imgList array, so if we need to display it on the page The selected image can be selected in the following way:

<view>
    <image v-for="(item,index) in imgList" :src="item"></image>
</view>
Copy after login

In the above code, we use v-for to traverse each element in the imgList array, and use the :image tag to display the image on the page .

3. Check the path problem

We need to use the correct path for reference when displaying the image, so we need to carefully check whether the image path is correct and whether there are spelling errors and other issues. Normally, what we return after selecting a picture is a temporary path, but when displaying the picture we need to use a local path. We can get the local path through the following method:

let realPath = '';
uni.getFileSystemManager().access({
        path: tempFilePaths,
        success() {
            realPath = wx.env.USER_DATA_PATH + '/' + new Date().getTime() + '.png'; //使用 wx.env.USER_DATA_PATH 获取本地存储路径
            uni.getFileSystemManager().saveFile({
                tempFilePath: tempFilePaths, // 临时文件地址
                filePath: realPath,
                success: (res) => {
                        console.log('保存图片到本地成功:' + res.savedFilePath)
                },
                fail: function (res) {
                    console.log(res);
                }
            });
        },
        fail() {
            console.log('访问失败')
        }
});
Copy after login

Through the above method, we can save the selected image locally, and call the callback function after successful saving to obtain and display the path.

Summary

The album pictures not displaying is a common problem when we use Uniapp development process. Typically, this problem is caused by incorrect permissions, data types, or paths, etc. We can solve this problem by checking permissions, data types and paths. I hope this article can help everyone and make the Uniapp development process smoother.

The above is the detailed content of How to solve the problem that the selected album pictures are not displayed in the uniapp project. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How do I use uni-app's social sharing APIs? How do I use uni-app's social sharing APIs? Mar 13, 2025 pm 06:30 PM

The article details how to integrate social sharing into uni-app projects using uni.share API, covering setup, configuration, and testing across platforms like WeChat and Weibo.

How do I use preprocessors (Sass, Less) with uni-app? How do I use preprocessors (Sass, Less) with uni-app? Mar 18, 2025 pm 12:20 PM

Article discusses using Sass and Less preprocessors in uni-app, detailing setup, benefits, and dual usage. Main focus is on configuration and advantages.[159 characters]

What are the different types of testing that you can perform in a UniApp application? What are the different types of testing that you can perform in a UniApp application? Mar 27, 2025 pm 04:59 PM

The article discusses various testing types for UniApp applications, including unit, integration, functional, UI/UX, performance, cross-platform, and security testing. It also covers ensuring cross-platform compatibility and recommends tools like Jes

How do I use uni-app's animation API? How do I use uni-app's animation API? Mar 18, 2025 pm 12:21 PM

The article explains how to use uni-app's animation API, detailing steps to create and apply animations, key functions, and methods to combine and control animation timing.Character count: 159

How can you reduce the size of your UniApp application package? How can you reduce the size of your UniApp application package? Mar 27, 2025 pm 04:45 PM

The article discusses strategies to reduce UniApp package size, focusing on code optimization, resource management, and techniques like code splitting and lazy loading.

How do I use uni-app's storage API (uni.setStorage, uni.getStorage)? How do I use uni-app's storage API (uni.setStorage, uni.getStorage)? Mar 18, 2025 pm 12:22 PM

The article explains how to use uni-app's storage APIs (uni.setStorage, uni.getStorage) for local data management, discusses best practices, troubleshooting, and highlights limitations and considerations for effective use.

What is the file structure of a uni-app project? What is the file structure of a uni-app project? Mar 14, 2025 pm 06:55 PM

The article details the file structure of a uni-app project, explaining key directories like common, components, pages, static, and uniCloud, and crucial files such as App.vue, main.js, manifest.json, pages.json, and uni.scss. It discusses how this o

What debugging tools are available for UniApp development? What debugging tools are available for UniApp development? Mar 27, 2025 pm 05:05 PM

The article discusses debugging tools and best practices for UniApp development, focusing on tools like HBuilderX, WeChat Developer Tools, and Chrome DevTools.

See all articles