获取 Live Skydrive 的真实地址

我们都知道,国外网站好的服务大多惨遭不幸,国内网站就没有什么出彩的服务可以和国外同类网站相比,就算偶尔冒出两个也维持不了多久,等翅膀长硬了,于是就纷纷搞收费服务,或者变向甚至不加掩饰地压缩用户现有的空间或者服务产品等。比如说自以为土皇帝的网易就这么干过,曾经应允了永久免费且支持外链的网易相册,在一夜之间,没有任何通知的情况下,就压缩了我所有高清的照片,分辨率和原图像素、大小都被大大压缩,这是何等的卑劣!所以之后我就毅然地放弃了网易相册,国内网站一般黑,我一刻也呆不下去了,之后我就选择了可靠的微软的服务,也就是现在的 Live Skydrive 作为图床。

为了不给服务器造成太大的压力,相信很多朋友都把图片和多媒体等比较大的文件放在第三方的服务器上,比如说 dropbox、skydrive 等,不过就如同之前所说的,国外很多优秀的网络服务都被墙奸了,现在稳定且还未被墙的第三方存储服务就要算 Skydrive 比较知名的了,我现在博客上的所有外链图片都是存放在 Skydrive 上的,比较满意。

不过用久了 Skydrive 就会发现一个问题,其外链地址是会改变的,这个让人比较囧,以至于上次发布了一本 w3school 离线版电子书教程的下载点,这本电子书存放在了 Skydrive 上,然后三天两头有人来提醒我说链接地址无效,我还经常去更新一下呢。知道 Skydrive 有这个问题(不知道是 bug?还是微软故意为之),但是一直不知道怎么解决。

那天看到灰狼兄的一篇文章,才恍然大悟,原来这是有解决办法的,是任平生大哥的杰作,严重怀疑任兄是微软的内部工作人员,居然能开发出 Live 服务这么多好的优化产品,我们是受益匪浅啊。以下就记录一下如何获取 Live Skydrive 外链的真实不变的地址。

在 Skydrive 登陆后,选择需要得到外链的文件页面,在浏览器的地址栏里粘贴以下代码:

javascript:var%20n=document.title.replace('%20-%20Windows%20Live','');var%20id=((location.hash=='')?window.selfPageData.currentItemHash:location.hash).replace('#resId/','');var%20u='http://storage.live.com/items/'+id+'?filename='+encodeURI(n);var%20p='http://'+document.location.host+'/redir.aspx?page=self&resId='+id;var%20e='<input%20onmouseover=%22this.select();%22%20onclick=%22this.select();%22%20value=%22';var%20f='%22%20style=%22width:580px%22%20type=%22text%22%20/><br>';var%20d='by%20(<a%20href=%22http://rpsh.net/%22>Rpsh</a>)';var%20c='\u5916\u94FE\u5730\u5740:'+d+e+u+f+'\u5206\u4EAB\u5730\u5740:'+e+p+f;var%20a=document.getElementById('content');var%20g=(a.getElementsByTagName('p')[0]);var%20b=g?g:document.createElement('P');b.innerHTML=c;a.insertBefore(b,a.firstChild);void(0)

此时会得到一个形如:http://storage.live.com/items/……这样的地址,这才是上传文件真正的、不变的、唯一的外链地址,很明显,这比原来那又臭又长的 URL 要干净清爽很多。如下图:

这张截图我就用了这唯一外链地址,另外我还想作个小测试,因为 Skydrive 的外链在某些网络下被墙的,比如在我学校的校园网内就无法看到在 Skydrive 上的外链图片,老七也是经常吼着看不到我的图,不知道现在换了新的不变的外链地址能不能看到这图呢?我明天去学校测试看看,也请大家帮忙测试啊,特别是七叔,能不能看到上面这张图?如果能看到的话就太好了,一下子解决了我两个问题。

参考自:http://rpsh.net/archives/get-direct-url-of-files-on-live-skydrive/

  1. 代码好像失效了,我试验了一个PPT文件,输入代码。弹出了一个下载框,但是那个文件不带后缀,而且名字是随意定义的。

  2. Pingback: 获取ms skydrive文件的真实地址 | 3Q博客

  3. 试了上面的方法,貌似得到的不是那张图片的原始地址啊。我传了一个很大的图片,用上述方法获取的地址打开的图片变小了。但是登录进去打开那张图片还是很大的……

  4. 以前用过一个wp插件也可以获取外链的skydrive-directlink
    最新版本增加了缓存机制,国内主机的朋友速度快很多
    现在这个只是一段代码就可以了 :smile:

  5. 不错,以前每次下载,都得把账号登上,找到那个页面,直接下载地址老是失效。
    不过图片外链一般都没事,只是文件的不行

      • 点啊点,点啊点,终于找到了又臭又长的图片地址,粘帖,复制到博客。然后返回啊返回啊,点啊点,点啊点,继续让下一张图片的地址显山露水...我靠,真TMD麻烦,所以现在特讨厌在博客上发图片文章。

  6. Skydrive 果然是最好的,万戈你好像都用了老长时间了,一点儿事情都木有发生,而其他人用的图床,老是这样那样的问题呢 ~ :lol:

  7. 晕,图片对服务器压力比较小,WP才大。。。。。。。
    就你这个博客,1个服务器也就能装3个。多了就死翘翘了。

  8. 还记得上高中大学的时候 ,都是把照片传到网易
    因为,它不压缩
    后来 发现
    哎……
    都白费了
    跟其他的“小站”没啥两样
    ……

  9. 推荐一个空间大、不会被墙,稳定而且不收费的外链相册吧,我的flickr快满了,觉得还是换一个免费的大容量外链相册比较好……

  10. 其实SkyDrive还是不错的,特别是现在的那个幻灯片放映功能留着自用的话很不错~
    为什么从来就不缺神一般的技术人物,这篇文章里的方法得用啥方法钻研出来啊 :?: :?:

  11. 有skydrive的空间,不过没怎么用,图片的话我放在panoramio上,别的电子书之类暂时没发过;

    可以看到图片,校园网

  12. 这个早已不是什么新闻了吧,只要是Google搜索了,任平生大哥就是第一个网页。而且万哥提供的代码只是部分,建议加个引用什么的。