使用SAE和Automator在Mac OS X上创建截图并自动上传的小应用

这是一个曾经的Post的归档(2012年初的帖子)。当时之所以有这个帖子,是因为在当时不用QQ等软件聊天的话,竟然没有一个特别好的App可以在群聊贴图。当然现在有了Telegram基本就不存在需求了。另外当时我采用了SAE,现在呢,已经是满天的阿里云和腾讯云天下了。当时弄一个虚拟空间还要搞个什么PHP探针,现在人均VPS,虚拟化技术发展的真是迅猛。

第一步:从Sina App Engine上新建一个项目,然后从项目的管理里面启用Storage服务,新建一个domain,我这里给domain命名叫h,然后关闭domain的防盗链。具体操作不再赘述。

第二步:将下面的php代码部署上去

<?php

function extend($file_name) 
{ 
	$extend = pathinfo($file_name); 
	$extend = strtolower($extend["extension"]); 
	return $extend; 
} 

$target_path = SAE_TMP_PATH;
$basename = basename( $_FILES['file']['name']);
$domain = 'h';
$uuid = md5(uniqid(rand(), true));
$target_path = $target_path.$uuid;

if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) {
} else{
    echo "There was an error uploading the file, please try again!\n";
}


$s = new SaeStorage();

echo $s->upload($domain, $uuid.".".extend($basename),$target_path)."\n";


//echo $url;

?>

php代码很简单,就是接受post请求然后把文件保存到Storage里面,之后输出文件的访问地址

第三步:从终端里面测试

使用curl命令我们来上传一个图片试试:

curl http://项目地址.sinaapp.com/php.php -F file="@1.jpg"

其中1.jpg是当前目录下面的一张图片。如果没有错误的话就可以看到终端里面输出了上传后的文件地址

第四步:建立新的Automator应用程序项目,如图所示

其中两个Growl Notification分别提示开始上传和上传结束。

之后将Automator项目保存即可,放到Dock上,以后可以随时运行截图然后自动上传。

发表评论

电子邮件地址不会被公开。 必填项已用*标注