由于GFW的屏蔽,Flickr的静态图片服务器一个接一个无法访问了,于是决定把所有图片下载下来放在本地。
期间遇到的问题和解决方法如下:
1.Entity Framework 6连接MySQL错误
直接添加ado.net实体模型提示以下错误:

您的项目引用了最新版实体框架;但是,找不到进行数据连接所需的与此版本兼容的实体框架数据库提供程序。

检查config文件后,手动添加MySQL的provider解决,如下:


2.无法转换DataTime类型的异常
由于数据库中存在值为"0000-00-00"的数据,需要在EF6连接字符串中加入内容:
Allow Zero Datetime=True;Convert Zero Datetime=True;

如果不用EF,直接使用Ado.Net,则连接字符串中添加如下内容:
allowzerodatetime=True;convertzerodatetime=True


整个图片本地化的步骤比较简单,如下:
1.将博客数据库备份后恢复到本地环境中
2.连接数据获取所有文章数据
3.使用正则表达式获取每一篇文章中的所有图片信息
4.下载图片并重名片
5.替换文章内容中的图片地址为下载后的本地地址
6.本地环境中试几次后直接覆盖服务器上的数据了

目前已完成部分文章替换,另有一些已经无法访问的图片准备想办法到墙外下载。

另外,目前文章的ID比较乱,准备有时间再清理一遍。暂时只清空了管理员以外的用户,并使用“WP-Optimize”插件对数据做了清理。

近期还发现WP打开超慢,调查后发现是加载了Google的字体,而Google的IP已经被禁的差不多了。
解决方法也很简单,后台使用“ Disable Google Fonts”或“Remove Open Sans font Link from WP core”插件,安装任意一款即可。前台则通过编辑模板的functions.php,将Google的字体加载源从Google换到360 CDN。搜索"fonts.googleapis.com",替换为"fonts.useso.com"即可。

Back