IAM的努力,当我在电话部署和运行这个函数返回的错误,从网址上传图片到手机的本地存储现在离子 - 打开失败:EACCES(拒绝)
appController.controller('TestCtrl',['$scope','$cordovaFileTransfer', function($scope,$cordovaFileTransfer){
$scope.Download = function() {
ionic.Platform.ready(function(){
var url = "http://3.bp.blogspot.com/-XchURXRz-5c/U5ApPOrPM9I/AAAAAAAADoo/YZEj4qeSlqo/s1600/Final-Fantasy-XV-Noctis-Red-Eyes.png";
var filename = url.split("/").pop();
var targetPath = cordova.file.externalRootDirectory + 'Pictures/' + filename;
console.log(targetPath);
$cordovaFileTransfer.download(url, targetPath, {}, true).then(function (result) {
$scope.hasil = 'Save file on '+targetPath+' success!';
$scope.mywallpaper=targetPath;
}, function (error) {
console.log(error);
$scope.hasil = 'Error Download file'+error;
}, function (progress) {
$scope.downloadProgress = (progress.loaded/progress.total) * 100;
});
});
}
}]);
,通过调试,我发现:打开失败:EACCES(拒绝)
我还添加了许可在AndroidManifest.xml中
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.foodhubb" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
</manifest>
但错误STI会不会改变? 我错过了什么吗?请帮忙!
检查我的答案,如果这可以解决您的问题,那么标记它是正确的。 – Abbas
@Abbas我认为你显示的是原生android和iam在Ionic(Hybrid App)上工作的代码。 顺便说一句,我发现解决方案,直接给予权限。 – ArsalanK
是的我不知道离子框架,我看到EACCESS并发布了答案,我的不好。我将删除它。 – Abbas