未使用phonegap android创建目录
创建目录时遇到问题,以下是我的代码:未使用phonegap android创建目录,android,cordova,directory,cordova-plugin-file,Android,Cordova,Directory,Cordova Plugin File,创建目录时遇到问题,以下是我的代码: var d = new Date(); var n = d.getTime(); var newFileName = n + ".jpg"; var myFolderApp = "myFolder"; var newFile=myFolderApp+"/"+newFileName; window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys) { alert(
var d = new Date();
var n = d.getTime();
var newFileName = n + ".jpg";
var myFolderApp = "myFolder";
var newFile=myFolderApp+"/"+newFileName;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys) {
alert('root is :'+fileSys.root.name)
fileSys.root.getDirectory("myFolder",{create:true, exclusive: false},
function(directory)
{
alert('direcrory name :'+directory.name)
fileSystem.copyTo(directory, newFileName,function(fileSystem)
{
alert('file sved!')
}, resOnError);
},
resOnError);
},
resOnError);
function resOnError(error) {
alert('Error at resOnError :'+error.code+' ,message :'+eror.message);
}
还添加了读写权限
这是密码 var pictureSource;//图像源 var destinationType;//设置返回值的格式
(function(){
document.addEventListener("deviceready", onDeviceReady, false);
})();
function onDeviceReady()
{
pictureSource=navigator.camera.PictureSourceType;
destinationType=navigator.camera.DestinationType;
}
function save()
{
alert(imageForCategory)
window.resolveLocalFileSystemURL(imageForCategory,resolveOnSuccess,resOnError);
}
function onFail(message)
{
alert('Failed because: ' + message);
}
function getPhoto(source)
{
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 100,destinationType: destinationType.FILE_URI,sourceType: source });
}
var imageForCategory="";
function onPhotoURISuccess(imageURI)
{
var largeImage = document.getElementById('largeImage');
largeImage.style.display = 'block';
largeImage.src = imageURI;
imageForCategory=largeImage.src;
}
function resOnError(error) {
alert('Error at resOnError :'+error.code+' ,message :'+error.message);
}
function resolveOnSuccess(fileSystem)
{
alert('on resolve success called');
var d = new Date();
var n = d.getTime();
var newFileName = n + ".jpg";
var myFolderApp = "myFolder";
var newFile = myFolderApp + "/" + newFileName;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSys) {
alert('root is :' + fileSys.root.name);
fileSys.root.getDirectory("myFolder", {create: true, exclusive: false},
function (directory) {
alert('directory name :' + directory.name);
directory.getFile(newFileName, {create: true}, function (file) {
alert("File created.");
});
}, resOnError);
}, resOnError);
}
我不知道你到底想做什么。它意味着你想复制一个文件,但你没有告诉任何关于源的信息 如果要创建文件,请使用以下代码:
var d = new Date();
var n = d.getTime();
var newFileName = n + ".jpg";
var myFolderApp = "myFolder";
var newFile = myFolderApp + "/" + newFileName;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSys) {
alert('root is :' + fileSys.root.name);
fileSys.root.getDirectory("myFolder", {create: true, exclusive: false},
function (directory) {
alert('directory name :' + directory.name);
directory.getFile(newFileName, {create: true}, function (file) {
alert("File created.");
});
}, resOnError);
}, resOnError);
function resOnError(error) {
alert('Error at resOnError :' + error.code + ' ,message :' + eror.message);
}
为什么不使用设备就绪事件?您必须这样做,否则您的代码将无法工作。现在由DeviceRady evet调用,仍然没有创建directoryHi Joerg,我试图做的是将一个图像保存到“myfolder”名称目录中,它没有创建图像,也没有将图像复制到我的目录中,代码执行时不会出错。感谢上面的代码正在创建一个目录。但是,您要复制的文件在哪里,这是一个重要的问题。仍然无法创建目录。cordova版本-5.4.1抱歉,我没有更多信息。你在帖子中写道,你给了一些权限。这意味着什么,因为在标准配置中不需要这样做。另一方面:您是否尝试过使用其他设备或模拟器,如genymotion?是的,当我安装文件和文件传输插件时,会自动创建权限。也在不同的设备和模拟器上进行了尝试,但代码仍然无法创建目录。