SecurityError: fileWriteResource 此错误发生在: This error occured when i tried to write in a file which was in my applicationDirectory. (此错误发生在当在应用程序目录下写文件时)。
当在 applicationDirectory (应用程序)目录下进行 复制文件时就会出现:SecurityError: fileWriteResource 。
出现此错误的例子:
private function copyToDir():void{
var sourceFile:File=File.applicationDirectory.resolvePath("images/img01.png");
var destination:File=File.applicationDirectory.resolvePath("test.png");
try {
sourceFile.copyTo(destination,true);
} catch(error:IOError) {
trace("IOError:",error.errorID," ",error.message);
}catch(e:Error){
trace("Error:",error.message);
}
}
出现:SecurityError: fileWriteResource 错误
解决方法:
根据 目标目录的绝对地址创建一个绝对地址的 File 再进行复制操作。
例子:
private function copyToDir():void{
var sourceFile:File=File.applicationDirectory.resolvePath("images/img01.png");
var rootDir:File = File.applicationDirectory;
var destination:File=new File(rootDir.nativePath+"/test.png");
if(sourceFile.exists){
trace("sourceFile存在:",sourceFile.nativePath);
}
try {
sourceFile.copyTo(destination,true);
} catch(error:IOError) {
trace("IOError:",error.errorID," ",error.message);
} catch(e:Error){
trace("Error:",e.message);
}
}
结果 :成功.
----------------------------------------------------------------------------------------------------------------------------------
另外写文件的例子:
var applicationDirectoryPath:File = File.applicationDirectory;
var nativePathToApplicationDirectory:String = applicationDirectoryPath.nativePath.toString();
nativePathToApplicationDirectory+= "/my-config.mxml";
var file:File = new File(nativePathToApplicationDirectory);
var filestream:FileStream = new FileStream();
filestream.open(file, FileMode.WRITE);
filestream.writeUTFBytes("My Text");
filestream.close();