PDA

Volledige versie bekijken : FMS2 - File object - no remove() possible


ocdaan
%Europe/Berlin %528 %2006, 13:40
Hoi allemaal, ik post vandaag ff in het engels als het niet erg is ;-)

I've created a logging system on FMS2 server-side. Every log will be stored in an text file. So far so good, I can create files, write to the files, appand to the files.

Then I loop trought all the files (I can get a nice array off all the files in the log directory), send the info from the file to ASP, and when I get an loadVars success I want to remove the log-file.

So I create a remove function:


var removeFileObject = new File(fileToRemove);
if(removeFileObject.exists){
trace("file exists: "+removeFileObject.name);
if(removeFileObject.remove()){
trace("success removing file");
}else{
trace("error removing file");
}
}

while tracing on the server console it says:

file exists: /logs/1145856681671.log
Sending error message: E:\Program Files\Macromedia\Flash Media Server 2\applications\movies\main.asc: line 104: File operation remove failed.
error removing file

I've been tryin for hours now and getting to the point off throwing my pc through the window ;-) If you ask me it hase to be buggy, i've no idea anymore, i also set full everyone rights to the directories but no success....

Anyone having the same problems, maybe a solution....?

thanx in advance people!

Dauntless
%Europe/Berlin %593 %2006, 15:14
Een gok: maar misschien moet je hem eerst sluiten (File.close() ) ?

File.close() wordt automatisch opgeroepen, maar misschien helpt het om hem expliciet op te roepen?

ocdaan
%Europe/Berlin %624 %2006, 15:59
Ehhm, nee, ik zie inmiddels dat ze de boel weer hebben beveiligd (? lijke me). Het staat notabene in de help:

//edit - ehhmm nee zeg ik wel zo leuk maar zou nog best eens kunnen bedenk ik me net ;) ga ik onderzoeken, thanx !!

Access is denied if a path contains a backslash (\) or if a dot (.) or two dots (..) is the only string component found between path separators.

Maar het lukt me nog steeds niet om de files in de logs directory te verwijderen. Ik heb het inmiddels wel in de application root aan de praat, en kan met file.type alleen de log files eruit filteren. Beetje nare oplossing zo maar het werkt wel iig :)

Als ik dus een list van de logs directory maak en dan daarvan weer de name property aanroep krijg ik een string terug als: "/logs/1234567890.log". Deze kan ik niet gebruiken om te removen omdat er dus een "/" inzit. Toch? maar ik krijg het serverside niet voor elkaar om alleen de log filename in een string te krijgen. String functies zijn ook niet aanwezig serverside, kan ik het wel via de client doen maar dat was nu net niet de bedoeling ;)

greetz :D

//edit hhhmmz, ik kijk echt niet verder dan m'n neus lang is vandaag, volgens mij gaat dit nog iets verder zelfs:

Applications can be granted access to additional directories by specifying virtual directory mappings for File object paths.

This is done by specifying a FileObject tag within the JSEngine section in the Application.xml file, as shown in the following example:

<JSEngine>
<FileObject>
<VirtualDirectory>/videos;C:\myvideos</VirtualDirectory>
<VirtualDirectory>/fcsapps;C:\Program Files\fcs\applications</
VirtualDirectory>
</FileObject>
</JSEngine>

zal ff proberen :D

ocdaan
%Europe/Berlin %638 %2006, 16:19
okdan, opgelost: ff regeltje toevoegen aan de application.xml deed wonderen:

<VirtualDirectory>/virtualLogsDir;E:\Program Files\Macromedia\Flash Media Server 2\applications\movies\logs\</VirtualDirectory>

Dauntless
%Europe/Berlin %639 %2006, 16:20
Wel vreemd dat server side AS geen String classe heeft... Maar dat zal wel aan mij liggen :p.

ocdaan
%Europe/Berlin %642 %2006, 16:24
hahah, geen idee wat ik dan verkeerd doe...


var zxc:String = "hoi"
//toegevoegd aan de main.asc


trace in de server console:

Sending error message: main.asc: line 12: SyntaxError: missing ; before statement: var zxc:String = "hoi"

moet ik iets includen ofzo? hhehe ?!!

Dauntless
%Europe/Berlin %647 %2006, 16:32
Misschien zijn de ';' op het einde van een regel verplicht in server side AS ?

ocdaan
%Europe/Berlin %651 %2006, 16:38
Dan is de hele applicatie overleden ;-) geen enkele trace dus... ik snap het ook niet

check dit maar eens:

klik (http://livedocs.macromedia.com/fms/2/docs/wwhelp/wwhimpl/js/html/wwhelp.htm?href=Part_SS_ASD.html)

en dan de Server-Side ActionScript Language Reference, daar staan toch alle bruikbare classes lijkt me....

Dauntless
%Europe/Berlin %655 %2006, 16:43
Ja, weet ik, adhv die live docs probeer ik ook een oplossing te zoeken voor je probleem :p.

In alle voorbeelden van SS-AS staan er ook ';' achter de regels... Maar wanneer jij dat doet crasht heel je app ?

ocdaan
%Europe/Berlin %687 %2006, 17:29
yup, heb net een nieuwe app aangemaakt met alleen dit in de main:

application.onAppStart = function(){
var x:String = "hoi";
}

application.onConnect = function(clientObj){
application.acceptConnection(clientObj);
}

als ik de app restart issie ook verdwenen uit de console zeg maar... moet je weer opnieuw toevoegen