2010-05-12 30 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

相关问题