2010-05-12 90 views

回答

9

你可以自己做類似的事情,沒有太多的編程方式。在OSX中,您可以配置「Folder Actions」以運行腳本,例如,當文件夾中出現新項目(包括桌面)時。然後,您可以使用該腳本對新文件進行任何您想要的操作。

This article at TUAW包括當文件到達特定文件夾時將文件上傳到Web服務器的示例。

所以,基本上,答案是「文件夾操作」,或者「某些東西在關注文件夾併發送通知」,在某種程度上。無論雲應用程序是使用文件夾操作還是使用FSEvents/NSWorkspace或kqueue機制(如果我沒有記錯的話,有一個很好的包裝類叫做UKKQueue)不會知道當前我的知識)是另一回事...)

你可以在幾個不同的級別實現這一點,這取決於你想要的結果,你想如何設計你實際上在做什麼,甚至是什麼您定位的文件系統。從根本上講,在Cocoa/Objective C中,我想你可能想開始看FSEvents

一旦收到文件更改的通知,我可能會使用類似ConnectionKit的東西來進行上傳 - 任何一個庫,真的,這意味着你不必打擾自己的套接字級別 - 但是,還有很多不同的方法。

具體取決於您希望解決問題的級別,以及您是否想要爲其他人構建某些內容或爲自己找到適合自己的內容。如果我只想爲自己拼湊一些東西,我可能會用Coda的Transmit應用程序,Folder Actions或Hazel以及最少的Applescript在最多半小時內拼湊一些東西,工作對我來說已經夠好了......

+0

這似乎太棒了!哪個更容易,FSEvents或NSWorkspace,以及我該怎麼做...對不起,我是這樣一個noob。 – 2010-05-17 23:25:22

+0

我相信FSEvents將成爲這些日子的正常方式;如果你看看http://stackoverflow.com/questions/913401/fsevents-weirdness-on-os-x-leopard < - 這個早先的問題,發佈的答案鏈接到一個相當小的完整的測試項目,監測一個文件夾進行更改,在這裏:http://bitbucket.org/boredzo/fs-notifier/src/5633027cded4 – 2010-05-18 08:36:56

+0

使用它,我可以看到何時桌面文件夾被修改,但它不會告訴我哪個文件被修改。或者有一個屏幕截圖通知中心或什麼? – 2010-05-18 14:14:34

-2

我不確定你在問什麼。如果您要求在MacOSX中以編程方式截圖,我建議您查看「screencapture」命令(在終端中,爲doc輸入「man screencapture」)。

如果你想這樣做的「硬」的方式,你應該看看this

+0

這不是問題提出者的問題。提問者詢問如何監視桌面文件夾以正常方式創建的屏幕截圖文件(⇧⌘4和朋友)並將其上傳到服務器。 – 2010-05-18 09:34:23