Cezary
Gruca
designer, Pigment
design&media
Temat: [AS3] Problem z pobieraniem pliku ze strony.
Dzień dobry.Mam problem z pobraniem pliku ze strony.
kod jest prosty:
function dajOferte(e:MouseEvent):void{
var plikDoPobrania:FileReference = new FileReference();
var wywolanieOferta:URLRequest = new URLRequest("http://jakasstrona.com/pdf/oferta.pdf");
plikDoPobrania.download(wywolanieOferta);
}
...ukazuje się okienko do zapisania i po kliknięciu "Zapisz" - nic się nie dzieje.
Co robię źle. W AS2 nie było problemu, był "getURL" i wsio...
Czy coś pominąłem ?
pozdrawiam
Marek
Skopowski
owner, flashlabs •
thelabs group
Temat: [AS3] Problem z pobieraniem pliku ze strony.
jest wiele aspektów, które moglibyśmy przedyskutować, chodzi o securiting, crossdomainy, etc.upewnij się, że wszystko jest jak należy wg:
http://help.adobe.com/en_US/FlashPlatform/reference/ac...
proponuję zacząć od nasłuchiwania wszystkuich statusów/eventów: open, progress, complete, etc.
Cezary
Gruca
designer, Pigment
design&media
Temat: [AS3] Problem z pobieraniem pliku ze strony.
Zmodyfikowałem lekko pierwszy kod na podanej stronie (ponieważ nie mam tego zaprogramowanego w klasach tylko w pierwszej klatce, więc "public" i "private" w odniesieniu do funkcji mnie nie interesuje) dotyczący metody DOWNLOAD.kod wygląda teraz tak:
[AS3]
var downloadURL:URLRequest;
var fileName:String = "oferta.pdf";
var file:FileReference;
downloadURL = new URLRequest();
downloadURL.url = "http://www.mojaStrona.com/pdf/oferta.pdf";
function dajOferte(e:MouseEvent):void{
FileReference_download();
}
function FileReference_download() {
file = new FileReference();
configureListeners(file);
file.download(downloadURL, fileName);
}
function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CANCEL, cancelHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(Event.SELECT, selectHandler);
}
function cancelHandler(event:Event):void {
trace("cancelHandler: " + event);
}
function completeHandler(event:Event):void {
trace("completeHandler: " + event);
}
function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
function openHandler(event:Event):void {
trace("openHandler: " + event);
}
function progressHandler(event:ProgressEvent):void {
var file:FileReference = FileReference(event.target);
trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
}
function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
function selectHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);
}
Jednak efekt niestety jest ten sam: pokazuje się okienko zapisu i po kliknięciu "zapisz" nic się nie dzieje...
Dodatkowo ustawiłem kompilację na "Access network only"...ale i to nie dało efektu. Problem musi leżeć więc gdzieś indziej?Cezary Gruca edytował(a) ten post dnia 30.11.11 o godzinie 21:54
Cezary
Gruca
designer, Pigment
design&media
Temat: [AS3] Problem z pobieraniem pliku ze strony.
Przepraszam Panie Marku, ...po prostu miałem dwie ścieżki: jedna na komputerze, druga na serwerze (ta na serwerze miała o jedno zagłębienie więcej)...oczywiście pomyliłem się :)Wszystko działa jak należy wg źródła które Pan podał.
pozdrawiam i przepraszam za kłopot :)
Marek
Skopowski
owner, flashlabs •
thelabs group
Temat: [AS3] Problem z pobieraniem pliku ze strony.
nie ma sprawy, ciesze się, że mogłem pomóc.btw: jeżeli chodzi o flasha, to na adobe znajdziesz rozwiązanie prawie większości problemów. świetnie zrobiona dokumantacja, dużo exampli, i do tego jest też po polsku.
nic tylko studiować :)
Cezary
Gruca
designer, Pigment
design&media
