0
안녕하세요. 저는 iPhone 휴대 전화의 공식 로컬 디렉토리를 복사 할 수 없습니다. 이 함수에서 오류가 발생했습니다 copyFileToLocalDir
. 휴대 전화의 갤러리와 카메라에서 사진을 볼 때마다 항상 오류가 발생합니다. 안드로이드 폰의 각 사진 뒤에는 각 사진이 로컬 회선에 있습니다. 그것을 어떻게 얻을 수 있습니까? 휴대 전화에서 원활하게 작동하는 경우 iOS 전화가 작동하는 이유는 무엇인가요?이오닉 2 이미지 로컬 디렉토리 복사가 작동하지 않습니다.
presentActionSheet(){
let actionSheet = this.actionSheetCtrl.create({
title : "Resim Kaynağını Seçiniz",
buttons : [{
text : "Galeriden Seç",
handler :()=>{
this.takePicture(this.camera.PictureSourceType.PHOTOLIBRARY);
}
},{
text : "Resim Çek",
handler :()=>{
this.takePicture(this.camera.PictureSourceType.CAMERA);
}
}]
});
actionSheet.present();
}
takePicture(SOURCETYPE){
var options = {
quality : 25,
sourceType : SOURCETYPE,
destinationType : this.camera.DestinationType.FILE_URI,
encodingType : this.camera.EncodingType.JPEG,
saveToPhotoAlbum : false,
correctOrientation : true
};
var yerelDizinAndroid;
var yerelDizinIOS;
this.camera.getPicture(options).then((imagePath)=>{
if(this.platform.is('android') && SOURCETYPE === this.camera.PictureSourceType.PHOTOLIBRARY){
this.filePath.resolveNativePath(imagePath).then(filePath =>{
let correctPath = filePath.substr(0, filePath.lastIndexOf('/') + 1);
let currentName = imagePath.substring(imagePath.lastIndexOf('/') + 1, imagePath.lastIndexOf('?'));
yerelDizinAndroid = currentName;
this.copyFileToLocalDir(correctPath, currentName, this.createFileName());
});
}else {
var currentName = imagePath.substr(imagePath.lastIndexOf('/') + 1);
var correctPath = imagePath.substr(0, imagePath.lastIndexOf('/') + 1);
yerelDizinIOS = currentName;
this.copyFileToLocalDir(correctPath, currentName, this.createFileName());
}
}, (err) => {
this.presentToast('Herhangi bir işlem yapılmadı.');
/* this.file.removeDir(cordova.file.dataDirectory, yerelDizinAndroid);
this.file.removeDir(cordova.file.dataDirectory, yerelDizinIOS); */
});
}
private createFileName() {
var newFileName = "S" + window.localStorage.getItem("auth_key") + ".jpg";
return newFileName;
}
private copyFileToLocalDir(namePath, currentName, newFileName) {
this.file.copyFile(namePath, currentName, cordova.file.dataDirectory, newFileName).then(success => {
this.lastImage = newFileName;
}, (error) => {
this.presentToast('Görsel yerel dizine taşınamadı..');
});
}
당신이 얻고있는 특정 오류가 무엇을 참조하십시오 여기에 솔루션이 추가 ? 그리고 분명히 밝혀지면 안드로이드에서는 잘 작동하지만 iOS에서는 정상적으로 작동하지 않습니까? – lintmouse
예, iOS 휴대 전화에서만 작동합니다. @lintmouse – Degisim
하나의 플랫폼에서 작동하지만 다른 플랫폼에서는 작동하지 않는 경우 특정 플랫폼의 제한/액세스 권한이 될 수 있습니다. 올바른 파일 경로를 사용하고 있는지 확인하십시오. 필자는 이것이 이온 - 프레임 워크와 관련이 없다고 생각합니다. OS/Cordova와 관련이 있습니다. – DanteTheSmith