2012-04-02 5 views
3

표시 객체를 이미지 파일로 로컬 저장하지만 일부 시점에서 오류 2174가 발생하기 시작합니다.이 코드는 컨텍스트 메뉴 클릭 이벤트 또는 키보드 이벤트에서 호출됩니다 .actionscript 3 filereference 'save'오류가 발생했습니다

var sourceBmd:BitmapData = new BitmapData(displayObject.width,displayObject.height);    
sourceBmd.draw(displayObject,new Matrix(displayObject.width,0,0,displayObject.height)); 
var jpgEncoder:JPGEncoder = new JPGEncoder(80); 
var byteArray:ByteArray = jpgEncoder.encode(sourceBmd); 
try 
{ 
    filereference.save(byteArray,"posterImage.jpg");  
} 
catch (e:Error) 
{ 
    Debugging.alert("error: ",e.message);   
} 

여러분도 알다시피, 파일 참조에는 단일 동작 만 있으므로 오류 2174가 발생하지 않습니다. 궁금한 경우를 대비하여 - 플래시 플레이어 10.0 용으로 게시하고 있습니다.

업데이트 : 플래시 플레이어 버전과 관련이 있습니다. 10.3에서는 작동하지만 11.1에서는 실패합니다.

어떤 아이디어가 있습니까? 건배, eRez

+0

당신이 플래시 플레이어 버전 10.0.0 이상 –

+0

을 위해 구축 확인하십시오 내가 할 - 아주 오랫동안 변경되지 않았다 – eRez

+0

체크 @The_asMan에서 포스트 동안. 프로그래밍 방식으로 save()를 트리거 할 수는 없습니다. 그것은 "사용자 액션 핸들러 함수"안에 있어야합니다. 예를 들어 버튼 클릭의 핸들러 함수 에서처럼. –

답변

0

this link가 문제를 해결합니까?

또한 오류 발생 후 플래시 IDE를 다시 시작해 보셨습니까? docs를 통해 읽어

+0

답변을 검색하는 동안 그 링크를 만났습니다. 문제는 브라우저 내부에서 작업하는 동안 발생하므로 IDE 재시작이 어떻게 영향을 미치는지 보지 못합니다. – eRez

+0

갑자기 오류가 발생하기 시작한 이유가 내가 다시 시작하도록 요청한 이유입니다. 종종 플래시 통신에서 상황은 실제로 작은 변화를 반영하지 않습니다 ... – loxxy

0

, 나는 가정 할 수 있습니다 :

  1. 당신이 10
  2. 당신이 사용자가 가까운 ""취소 "또는 클릭 할 때와 같은 경우에 filereference.cancel()를 호출하지 않는 플래시 플레이어에서 실행중인 "열리는 대화 상자에서;
+0

감사하지만, 나는 또한 그 문서를 읽고, 나는 'cancel()'을 호출 할 필요가 있지만, 문제는 클릭하지 않아도 발생합니다. 취소 버튼 – eRez

+0

유일한 제안은 다음과 같습니다. ** 데이터를 로컬 파일에 저장하는 ** 부분에서 코드 가져 오기 ** [여기] (http://help.adobe.com/en_US/as3/dev) /WS5b3ccc516d4fbf351e63e3d118a9b90204-7cf8.html); 적절한 경우'fileRef.cancel()'의 유무에 관계없이 시도해보십시오. 동일한 오류가 발생하는지 확인하십시오. 그럴 경우 플레이어, 브라우저 플러그인, IDE (부두 춤 - Flash Builder 인 경우)를 다시 설치해야합니다. 만약 그들이 오류를 던지지 않는다면, 나는 당신의 코드와 Adobe의 차이점을 검사 할 것이다. 이것은 당신이 실제로 프로젝트에서'FileReference'를 사용하는 유일한 장소입니까? –

2
+0

감사하지만 사용자 상호 작용 (컨텍스트 메뉴 클릭 이벤트 또는 키보드 이벤트)에서 호출되고 있습니다. 둘 다 같은 오류가 발생합니다. - 버전 10으로 게시하고 있습니다.그리고 예, 나는 또한 그 문서를 읽습니다, 그래서 - 다른 파일 참조가 동시에 활성화되어 있지 않습니다. – eRez

+0

오류가 발생하면 스택 추적을 게시하십시오. –