Skydrive是个好东西:
- 微软出品
- 25G的储存空间
- 界面清爽简单
- 支持图片外链
- 自身支持批量上传(仅限IE)
- 自身支持打包下载(为图片转移提供了方便)
- 支持多层目录
- 不更改上传图片名字(如果考虑日后图片的转移,选择图床时应注意这点)
Skydrive使用不方便:
- 获取真实地址步骤繁琐
- 图片批量操作费时费力
- 市面上第三方工具太少
我觉得如果不是经常批量贴图,Skydrive还真是个不错的选择,但在独立博客中貌似没什么人用微软的这个巨无霸网盘。
好了,下面进入正题,如何批量转移Skydrive相册的图片到自己服务器。
一、转移图片
- 首先进入一个相册,点击右上角的
更多
→以.zip文件下载
。如果先前你的图片(包括子目录)是放在根目录下的同一个文件夹下,只需要一次下载就好了。如果是在根目录下建立多个文件夹分别存放,那就进到每个文件夹下一个个下吧。 - 将下载的图片上传到服务器的同一个文件夹下,注意不要保留原来的任何子目录。因为无论原来你在Skydrive建立什么样的目录,图片的地址结构都是一样的。
二、替换地址
先看几个原始图片地址找找规律:
- http://public.blu.livefilestore.com/y1pZFe9ETqm-U73LzC4SPw7JysLXYKQQqBL6SAu9QEWbypvf0KisxE5Jq1WaP6MGLh0D-VVo2Dukkk2AhJxUcSbHw/sdpre-mpxplay.png
- http://public.blu.livefilestore.com/y1ppjYSVsrMNymhf8utIKXBWIAxX6W1k4nhYKS88VdUMDR5d5p_RCseeavWf9MUA6QZgF6KngT9EKyispwiDx1ukQ/sdpre-asshole.gif
- http://hiavxa.bay.livefilestore.com/y1pRBZE2mvIvQIdidYlJjjieSeSd54FO7MWx5-iaY6obEki11SIVvLf2iCa0vIOY–9qEUMtFPGWLKIhLForQMGJ4Fit92BrI29/2010.3.15@%E5%85%A8%E8%A3%B8.jpg
- http://public.bay.livefilestore.com/y1p-1i6LNYpS87JJKY1uMqVJAod10iESTqvOPOEF0rIvHMQBQHfXFcAd2e14ITwqAMMwmbgUYR1S7Pszs_JW85jwQ/2010.3.15@%E5%85%A8%E8%A3%B8.jpg
第1、2个地址是我从自己的相册中随便找的,可以看到http://后接的是一个三级域名public.blu.livefilestore.com,然后是一串乱七八糟的字母和数字(一共89个字符),最后是文件名。
第3、4个是我从博客图党里找的,其实这两个是同一个图片地址。Skydrive的图片上传后的一段时间内,三级域名的前六个字符(例如:hiavxa)是随机的,后面的一堆字符串长度是99个字符。待一段时间后,六个随机字符就会转成public,99个字符的字符串会变回89个。同时我也发现二级域名也有不同,我猜这大概是账号注册时间的不同而不同,我的全都是blu,而博客图党的都是bay,但都是3个字符。
既然是有规律可循,配以强大的正则表达式,替换起来就方便了。我们知道可以用以下语句替换数据库中的字符串,但是我却不知道怎么用上正则表达式。知道的朋友告诉我一声,我补上。
UPDATE 表名 SET 字段名=REPLACE('字段名','被替换字符串','替换字符串');
那我们用点另类的方法,先把数据库导出进入phpMyAdmin,导出wp_posts表,再用支持正则表达式的文本编辑器(如EmEditor、pspad)打开,使用下面这个正则表达式将匹配三级域名和后面的一堆字符串,将其全部替换成你在服务器上的目录就可以了。
http://.{10}\.livefilestore\.com/.{89,99}/
解释一下这个正则表达式:
- http://、livefilestore、com、/都是直接匹配原字符串
- \. 使用转义字符\,让.代表原字符.,这个其实要不要都无所谓
- .{10} 表示任意字符出现十次,匹配三级域名的前六个字符和二级域名的前三个字符,还有他们之间的点,一共是十个字符。如:public.blu 或 hiavxa.bay
- .{89,99} 表示任意字符出现89次至99次,也就是匹配那一堆的字符串
上个图更形象一点:
我在自己机器上测试过,没有出现异常。但我不敢确保您数据库的安全。所以请注意两点:
- 操作数据库前注意备份
- 替换前注意查看你的图片是否符合规则
一点小发现:
你以为那些带着图片扩展名的地址就是真实地址了吗?把后面的文件名全部去掉或者随便改名试试看



真能折腾……
@李二嫂的猪: 未雨绸缪嘛
试做 未成 有心 请教
数据 导出 有点 不懂
@sean: 进入phpMyAdmin,导出wp_posts表
镶嵌图片可外链
想寻源图外链地址
http://cid-38b64a5b650e2fbd.skydrive.live.com/self.aspx/lara/r4484-wh-1.jpg的真实地址。
用于淘宝网站,原图大小。
P:想批量编辑
拜请高人指点迷津!
现行告谢!
Seanzheng
@sean: 点击一下图片不就可以得到这个原图地址了?
http://public.blu.livefilestore.com/y1prUwP97ZsQk2abdiRBLWQ861t7Vu0bTAwsXJZLu5PiBDopof0KGN6bozacTiRPHL2SgFYv-U-rj6WLtYdd0-Paw/r4484-wh-1.jpg
要是想批量获取Skydrive相册的真实图片地址,我还真没什么办法,其实我比较推荐用http://www.photobucket.com/,这个相册服务本身就支持批量获取地址
多谢指点!
http://www.photobucket.com
容量是多少? 有没有外链限制?
我的图片较多,现有3G,还会倍增。
请问有推荐吗?
@sean: 汗,那就不太适合了。虽然没有外链限制,但那个免费的只有500MB而已,而且还有月流量限制……
要不您在Godaddy买个域名,info的域名也挺便宜,然后开通其自带的10G免费空间,我记得月流量还是挺大的。可以参考这个:http://www.ifunkey.com/2793.html
非常感谢!
可供参考!
有空加我!
改日再聊!
sean
我博客的图全部是放在SKYDRIVE的,因为我觉得微软的网站永远不会被河蟹
现在全部放在photobucket,就为了批量贴图方便点,另外一点就是可以逐层设置目录,上传图片的文件名也不会改变。图片在本地我都会有备份,要是被和谐了到时候批量替换也方便点。微软那个实在太难用了……
@悠悠哉哉:
我原来是用photobucket,但是现在不行了,已经好几个月了,不能正常使用,网站能上、账户也有,但是:图片全部是叉叉,看来是被河蟹了。
我用skydrive,是因为微软的站永远不会被河蟹。今天我还看着计算机等级考试的书呢,上面word、excel、powerpoint全部都是微软的,政府的办公室里的电脑也都是windows,所以,微软的站永远不会被河蟹。
见此文:
http://www.6psp.cn/20100209/test-picture-of-outward-links.html