문제

서버에서 비디오와 문서를 다운로드하는 AIR 응용 프로그램을 작성했습니다.비디오는 응용 프로그램 내부에서 재생되지만 사용자가 기본 응용 프로그램에서 문서를 열 수 있기를 바랍니다.

응용 프로그램 저장소 디렉터리에 저장된 로컬 파일을 사용자에게 열기/다른 이름으로 저장하라는 메시지를 표시하는 방법을 찾고 있습니다.FileReference + URLRequest 클래스를 사용해 보았지만 원격 URL이 필요하다는 예외가 발생합니다.

최후의 수단은 파일을 데스크탑에 복사하는 것입니다.\

도움이 되었습니까?

해결책 2

파일을 이동하고 사용자에게 알리지 않고 이를 수행하는 방법을 알아낼 수 있는 유일한 방법은 해당 파일을 브라우저에 전달하는 것이었습니다.

navigateToURL(new URLRequest(File.applicationStorageDirectory.nativePath + "/courses/" + fileName));

다른 팁

새로운 것을 사용할 수 있습니다 openWithDefaultApplication(); File 클래스에서 사용할 수 있는 함수(AIR 2에서만 사용할 수 있다고 생각합니다)

예:

var file:File = File.desktopDirectory.resolvePath(fileLocation);
file.openWithDefaultApplication();

이것은 FluorineFx Aperture 프레임워크의 첫 번째 릴리스입니다.

프레임워크는 AIR 데스크톱 응용 프로그램에 대한 기본 OS 통합(Windows 전용) 지원을 제공합니다.

프레임워크는 방해가 되지 않는 방식으로 Adobe AIR 애플리케이션을 확장합니다.제공된 라이브러리를 AIR 애플리케이션과 함께 재배포하기만 하면 런타임 시 프레임워크가 자동으로 애플리케이션에 연결됩니다.

특징

  • 제공된 apsystem 라이브러리를 사용하여 기본 애플리케이션 및 문서 실행
  • 제공된 apimaging 라이브러리로 전체 화면의 스크린샷을 찍으세요.
  • 제공된 apoutlook 라이브러리를 사용하여 Air 애플리케이션에서 Outlook 연락처에 액세스하세요.

http://aperture.flurinefx.com/

현재 Adobe는 기본 응용 프로그램에서 파일 열기를 지원하지 않습니다.브라우저에 전달하는 것이 작동하도록 하는 유일한 방법인 것 같습니다.

그러나 FileStream을 사용하고 iframe의 위치를 ​​파일로 설정하는 일부 자바스크립트로 작은 html 파일을 작성한 다음 100ms 정도 후에 window.close()를 호출할 수 있습니다.그런 다음 브라우저에서 해당 파일을 엽니다.

나에게는 다음과 같다:

var request:URLRequest = new URLRequest();
request.url = file.url;
navigateToURL(request, "_blank");

그만큼 navigateToURL(file.nativePath) "/users/mydirectory/..." 경로가 외부에 있으므로 작동하지 않았습니다. 애플리케이션 샌드박스.AIR에서는 다음을 사용하여 일부 프로토콜만 열 수 있습니다. navigateToURL().

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top