유니앱을 사용하여 개발하는 과정에서 앨범 사진 선택 기능을 사용해야 하는 경우가 종종 있습니다. 그런데 선택 후 사진이 표시되지 않는 문제가 가끔 발생합니다. 이번 글에서는 이런 문제가 발생하는 이유와 해결 방법에 대해 설명하겠습니다.
1. 앨범 사진이 표시되지 않는 문제는 왜 발생하나요?
1. 권한 문제
Android 시스템에서는 사진 앨범에 액세스하기 전에 외부 저장소 읽기 권한을 동적으로 신청해야 합니다. 권한 신청이 성공적으로 이루어지지 않으면 앨범에 있는 사진을 읽을 수 없습니다. 따라서 표시할 수 없습니다.
2. 데이터 유형 문제
앨범 사진 선택을 위해 API를 호출할 때 선택한 사진을 로드하려면 배열을 반환해야 하지만 때로는 코드에 데이터 유형이 일치하지 않아 선택한 이미지를 모두 로드할 수 없는 경우가 있습니다. 페이지에 표시됩니다.
3. 경로 문제
앨범에서 선택한 사진을 프런트엔드 페이지로 전송할 때 사진의 경로를 사용하여 표시해야 합니다. 그러나 경로가 잘못 입력되거나 파일 이름이 일치하지 않는 경우 선택한 사진이 정상적으로 표시되지 않습니다.
2. 앨범의 사진이 표시되지 않는 문제를 해결하는 방법은 무엇입니까?
1. 권한 문제 확인
앨범 사진 선택 시 외부 저장소 읽기 권한을 신청해야 합니다. 권한 신청에 실패할 경우 확인해야 합니다. 다음 단계를 통해 권한 문제를 해결할 수 있습니다.
(1) Manifest.json 파일에 외부 저장소 읽기 권한을 추가합니다.
"android": { "permission": [ "android.permission.READ_EXTERNAL_STORAGE" ] }
(2) 앨범 사진 선택 기능을 사용하려는 페이지에서, uni.requestAuthorize 메소드를 사용하여 권한을 신청하세요:
uni.requestAuthorize({ scope: 'scope.writePhotosAlbum', success() { console.log('授权成功') }, fail() { console.log('授权失败') } })
2. 데이터 유형 문제 확인
데이터 유형이 일치하지 않으면 선택한 이미지가 페이지에 정상적으로 표시되지 않습니다. 다음 예와 같이 코드에 사용된 데이터 유형에 주의할 필요가 있습니다.
data() { return { imgList: [], } }, methods: { chooseImage(){ uni.chooseImage({ count: 3, sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'], success: function (res) { this.imgList = res.tempFilePaths; // 选择图片成功后将图片路径存入imgList数组 } }) } }
위 코드에서는 선택한 이미지의 임시 경로를 imgList 배열에 저장하므로 선택한 이미지를 표시해야 하는 경우
<view> <image></image> </view>
위 코드에서는 v-for를 사용하여 imgList 배열의 각 요소를 순회하고 :image 태그를 사용하여 페이지에 이미지를 표시합니다.
3. 경로 문제 확인
이미지 표시 시 참고용으로 올바른 경로를 사용해야 하므로 이미지 경로가 올바른지, 철자 오류 등의 문제가 있는지 주의 깊게 확인해야 합니다. 일반적으로 사진을 선택한 후 반환되는 것은 임시 경로이지만, 사진을 표시할 때는 로컬 경로를 사용해야 합니다. 다음 방법을 통해 로컬 경로를 얻을 수 있습니다.
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('访问失败') } });
위 방법을 통해 선택한 이미지를 로컬에 저장하고 성공적으로 저장한 후 콜백 함수를 호출하여 경로를 얻어 표시할 수 있습니다.
요약
유니앱을 사용하여 개발할 때 앨범 사진이 표시되지 않는 현상은 흔히 발생하는 문제입니다. 일반적으로 이 문제는 잘못된 권한, 데이터 유형 또는 경로 등으로 인해 발생합니다. 권한, 데이터 유형 및 경로를 확인하여 이 문제를 해결할 수 있습니다. 이 글이 모든 분들에게 도움이 되고 Uniapp 개발 과정을 더욱 원활하게 만드는 데 도움이 되기를 바랍니다.
위 내용은 uniapp 프로젝트에서 선택한 앨범 사진이 보이지 않는 문제 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 모바일 및 웹 플랫폼 용 디버깅 전략, Android Studio, Xcode 및 Chrome DevTools와 같은 도구 및 OS 및 성능 최적화 전반에 걸쳐 일관된 결과를위한 기술을 강조 표시합니다.

이 기사는 HBuilderx, WeChat 개발자 도구 및 Chrome Devtools와 같은 도구에 중점을 둔 UniAPP 개발을위한 디버깅 도구 및 모범 사례에 대해 설명합니다.

이 기사는 여러 플랫폼에서 UniAPP 응용 프로그램에 대한 엔드 투 엔드 테스트에 대해 설명합니다. 테스트 시나리오 정의, Appium 및 Cypress와 같은 도구 선택, 환경 설정, 테스트 작성 및 실행, 결과 분석 및 Integrat을 다룹니다.

이 기사는 장치, 통합, 기능, UI/UX, 성능, 크로스 플랫폼 및 보안 테스트를 포함한 UniAPP 응용 프로그램에 대한 다양한 테스트 유형에 대해 설명합니다. 또한 크로스 플랫폼 호환성을 보장하고 JES와 같은 도구를 권장합니다.

이 기사는 과도한 글로벌 데이터 사용 및 비효율적 인 데이터 바인딩과 같은 UniAPP 개발의 일반적인 성능 방지 방지에 대해 설명하며, 더 나은 앱 성능을 위해 이러한 문제를 식별하고 완화하는 전략을 제공합니다.

이 기사는 프로파일 링 도구를 사용하여 UniAPP의 성능 병목 현상을 식별하고 해결하고 설정, 데이터 분석 및 최적화에 중점을 둡니다.

이 기사는 UNIAPP에서 네트워크 요청을 최적화하고 대기 시간을 줄이고 캐싱 구현 및 모니터링 도구를 사용하여 응용 프로그램 성능을 향상시키는 전략에 대해 설명합니다.

이 기사에서는 압축, 반응 형 디자인, 게으른로드, 캐싱 및 Webp 형식 사용을 통해 웹 성능을 향상시키기 위해 UniAPP의 이미지 최적화에 대해 설명합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

WebStorm Mac 버전
유용한 JavaScript 개발 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
