2009-06-23 5 views
6

ich mit einem Bild-Caching-System bin arbeiten, die verschiedene Bilder auf der Basis einer URL Route erzeugt. Die Quellbilder befinden sich außerhalb des Dokumentenstamms, und zwischengespeicherte Versionen werden im Webstamm zu/cache hinzugefügt. wenn ich lange Geschichte kurz, zeigen in Flash ein Loader auf die Route, erhalte ich eine „Load Completed Never“ zum ersten Mal Fehler (wenn die im Cache gespeicherte Bild noch erzeugt werden muss).Action [Error # 2036: Laden Sie niemals fertiggestellt] mit dynamisch generierte Bilder

Error opening URL 'http://characters.dev/cache/Pledges/16107/48_48c/jen001.jpg' 
Error #2036: Load Never Completed. URL: http://characters.dev/cache/Pledges/16107/48_48c/jen001.jpg 

Das Cache-Bild wird nach wie vor erzeugt und das nächste Mal, wenn ich laufe die Anwendung der eigentliche Datei Lasten ohne Fehler. Ich habe die richtigen Header bekam, wenn das Ausgangsbild zu erzeugen gesendet werden und das Schreiben es, so frage ich mich, warum Flash nicht, um die Antwort zu erhalten (scheint funktioniert in einem Browser-Fenster in Ordnung).

header("Content-type:image/jpeg"); 
echo $this->getResponse()->setBody(file_get_contents($cachedFile)); 

Irgendwelche Ideen, wie Sie das beheben können? Die Fehler scheinen die Flash-Anwendung zu "verbiegen".


Wenn es hilft, hier ist die Antwort-Header:

Anfrage zu erzeugen Bild:

HTTP/1.1 200 OK 
Date: Tue, 23 Jun 2009 17:52:49 GMT 
Server: Apache 
X-Powered-By: PHP/5.2.6 
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
Set-Cookie: PHPSESSID=6b746d4ed010c288a824522597698ea2; expires=Fri, 24-Jul-2009 17:52:50 GMT; path=/; domain=.characters.dev 
Content-Length: 3575 
Content-Type: image/jpeg 

anfordern, wenn Bild zwischengespeichert wird:

HTTP/1.1 200 OK 
Date: Tue, 23 Jun 2009 17:53:27 GMT 
Server: Apache 
Last-Modified: Tue, 23 Jun 2009 17:52:50 GMT 
ETag: "24e6c62-df7-a8bd0080" 
Accept-Ranges: bytes 
Content-Length: 3575 
Content-Type: image/jpeg 

Antwort

2

Flash-IDE Problem scheint es. Nicht wirklich reparierbar.

+2

Sorry aber ... was bedeutet diese "Antwort"? Wie kann die IDE einen Fehler im Player verursachen? – brianvaughn

2

I wurde gettin einige der Bilder g ein ähnliches Problem, den Fehler stoppen Sie die IOErrorEvent.IO_ERROR

_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError_handler, false, 0, true); 

public function ioError_handler(event:IOErrorEvent):void 
{ 
    Alert.show(event.toString()); 
} 

Während dies der Fehler losgeworden fangen wollen erscheinen, wo nicht in Opera zu laden. Am Ende bekam ich dies durch Ändern der Bild Handler-Code (asp.net C#) zu

context.Response.ClearContent(); 
context.Response.ClearHeaders(); 
context.Response.ContentType = "image/jpg"; 
context.Response.Cache.SetCacheability(HttpCacheability.NoCache); 
context.Response.Cache.SetNoStore(); 
context.Response.Cache.SetExpires(DateTime.MinValue); 
context.Response.BufferOutput = false; 
context.Response.BinaryWrite(photo); 

vor zu arbeiten, wenn ich versuchte, das Bild im Browser anzeigen würde das Foto laden, aber es würde nicht beenden Laden in Opera, daher wird das Ereignis load complete nicht ausgelöst.

hoffte, das hilft, (auch wenn es in einer anderen Sprache ist)

+0

Hmm, ja, ich habe einen Hörer für IO_ERRORs (die Ausgabe I posted ist das Ergebnis des Alert Sie zeigen). Und ich setze die Header auf die gleiche Weise. Nicht sicher. Die Fehler scheinen nicht geworfen zu werden, wenn das Flash-Objekt im Browser ist, so ist es vielleicht nur eine IDE-Sache. – typeoneerror

Verwandte Themen