2009-06-23 32 views
6

Tôi đang làm việc với hệ thống lưu vào bộ nhớ hình ảnh tạo các hình ảnh khác nhau dựa trên tuyến đường url. Hình ảnh nguồn sống bên ngoài gốc tài liệu và các phiên bản được lưu trong bộ nhớ cache được thêm vào/cache trong webroot. Dài câu chuyện ngắn, trong Flash, nếu tôi chỉ một Loader đến tuyến đường, tôi nhận được lỗi "Tải không bao giờ hoàn thành" lần đầu tiên (nếu hình ảnh được lưu trong bộ nhớ cache chưa được tạo).Actionscript [Lỗi # 2036: Tải Chưa bao giờ Hoàn thành] với hình ảnh được tạo động

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 

Hình ảnh được lưu trong bộ nhớ cache vẫn được tạo và lần sau khi ứng dụng tải tệp thực mà không có lỗi. Tôi đã có các tiêu đề thích hợp được gửi khi tạo ra hình ảnh ban đầu và viết nó, vì vậy tôi tự hỏi tại sao flash không nhận được phản hồi (dường như hoạt động tốt trong một cửa sổ trình duyệt).

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

Mọi ý tưởng về cách khắc phục sự cố này? Các lỗi dường như "làm hỏng" ứng dụng flash.


Nếu nó giúp, đây là tiêu đề phản ứng:

Yêu cầu để tạo ra hình ảnh:

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 

Yêu cầu khi hình ảnh được lưu trữ:

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 

Trả lời

2

Vấn đề về Flash IDE có vẻ như vậy. Không thực sự khắc phục được.

+2

Xin lỗi nhưng ... câu trả lời này có nghĩa là gì? IDE có thể gây ra lỗi trong trình phát như thế nào? – brianvaughn

2

tôi là gettin g một vấn đề tương tự, để ngăn chặn các lỗi xuất hiện mà bạn muốn để bắt 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()); 
} 

Trong khi điều này đã thoát khỏi những sai sót, một số hình ảnh mà không tải trong Opera. Cuối cùng tôi đã làm việc này bằng cách thay đổi mã xử lý hình ảnh (asp.net C#) để

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); 

trước khi tôi đã cố gắng để xem các hình ảnh trong trình duyệt ảnh sẽ load, nhưng nó sẽ không kết thúc tải trong Opera, do đó không kích hoạt sự kiện tải hoàn thành.

Hy vọng điều này sẽ giúp, (ngay cả khi nó có ngôn ngữ khác)

+0

Hmm, vâng, tôi có người nghe cho IO_ERRORs (kết quả tôi đăng là kết quả của Thông báo bạn hiển thị). Và tôi đang thiết lập các tiêu đề theo cùng một cách. Không chắc. Các lỗi dường như không được ném khi đối tượng Flash nằm trong trình duyệt, vì vậy có lẽ nó chỉ là một điều IDE. – typeoneerror

Các vấn đề liên quan