2013-01-16 67 views
1

我有一個Air應用程序需要引用位於共享網絡文件夾中的文件。從Windows上運行的AIR應用程序中,我可以通過File對象訪問共享如下:如何在Adobe Air應用程序中從Mac打開網絡文件夾?

var folder:File = new File("file:///\\\\server\\share\\parent_folder\\folder"); 

在Mac上,不工作了,我找不到不路徑上的任何變化。我可以通過Finder使用路徑「smb:// server/share/parent_folder/folder」連接到服務器,然後我可以通過一些(看似)卷積裝載來構建一個File對象,其名稱似乎取決於「//服務器/共享」(例如,「/卷/共享」,「/卷/共享-1」等等)有多少現有掛載而變化。

有沒有辦法在Air應用程序中連接到Mac上的共享服務器文件夾,而無需用戶首先通過Finder連接?最糟糕的情況是,有沒有辦法從Air內部執行一個控制檯命令?據推測,我可以自己安裝這個分享。除了要求Mac用戶首先通過查找器手動連接到服務器,然後每次運行應用程序時都向應用程序提供共享路徑,我無法想到解決方法!

預先感謝任何可行的解決方案!

回答

0

,你必須安裝網絡路徑。但用戶可以掛載網絡驅動器,並在用戶登錄時自動重新連接,以便每次使用應用程序時都不必重新連接。看看http://osxdaily.com/2010/09/20/map-a-network-drive-on-a-mac/,它有自動連接的說明。

+0

不是一個理想的解決方案,但這將起作用。我可以映射文件夾,並在登錄時重新連接。但是,這個名字並不一定是可以預測的。例如,根據現有安裝的數量,掛載// server/share/folderName似乎創建安裝「/卷/分享」,「/卷/共享-1」,「/卷/共享-2」等等。到/ server/share下的文件夾。有沒有一種方法(在Lion 10.7下)讓它持續地掛載,比如「/ Volumes/folderName」? –

+0

標記爲答案,因爲這將主要工作。仍在尋找一種獲得一致的裝載名稱的方法。 –

0

對於Mac問題,請使用File的resolvePath()方法來引用文件/文件夾;見http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/File.html#resolvePath()

如:

var folder:File = File.applicationDirectory.resolvePath("absolute/path/to/folder"); 

注意, 「文件:///」 不應該被使用,如果我沒有記錯的斜線應該是 「/」 而不是 「\」

+0

這不起作用。使用路徑「// server/share/parent_folder/folder」返回一個File對象,但file.exists返回false。 –

相關問題