BlogWriter 博客客户端-2


这个东东上次发出来有很多问题, 也没太多时间,忙里偷闲, 修改了下.上次发时工具栏提示,还都是toolstripbutton1 , toolstripbutton2..... 这个改过了,呵呵!

主要的问题:

是文章发布时常会出现图片不能上传,还是本地图片地址.

先说下文章发布的步骤:
先找出文章中所有的图片地址->检查是不是本地图片->如果是本地图片测上传->将文章中的本地图片地址转为上传后图片的网络地址 -> 将文章发布. 
本来是使用正则找出所有本地图片地址, 第一想到的是正测表达式有问题. 断点查看,正则没问题.

原来:
如:C:\Documents and Settings\Administrator\桌面\02asds.jpg本图片路径.   在html原文件中会是这样file:///C:/Documents%20and%20Settings/Administrator/桌面/02asds.jpg

程序找不本地路径.

解决:
除去 file:/// 及 
%20 

---------------------------------

介绍一下插件接口吧.

IPlugin:

        ///  
        /// 所有插件接口基础.(所有插件接口都继承此接口) 
        ///  
        public  interface  IPlugin 
        { 
                ///  
                /// 插件的基本信息 
                ///  
                PlugBaseInfo  BaseInfo{get;} 
                ///  
                /// 插件应用的启动方法.加载插件时调用. 
                ///  
                /// "FunctionMenuItem"


                 void  Start(); 
        } 

所有插件须实现此接口.
其中PlugBaseInfo是一个包含插件基本信息的结构体.

        ///  
        /// 插件的基本信息结构体 
        ///  
        public  struct  PlugBaseInfo 
        { 
                ///  
                /// 插件名称,将在BlogWrite 程序的功能菜单显示 
                ///  
                public  string  Name; 
                ///  
                /// 插件的类型.宿主程序通过此属性确定插件类型 
                ///  
                public  string  Type; 
                ///  
                /// 插件图标 
                ///  
                public  Image  Ico; 
                public  string  Readme; 
        } 

IBlogAPI 接口:
IBlogAPI接口继承自IPlugin接口, 通过现实IBlogAPI接口,以扩展所有支持的博客API类型,目前仅支持MetaWeblog. IBlogAPI接口目前定义还不完善, 下次下说喽.

FunctionMenuService:
此类在BlogWriter.Interface.Service命名空间中.提供对宿主程序功能菜单的操作.

类App :
类App的静态成员Host提供宿主程序公开接口的访问.

插件Demo:

using  System; 
using  System.Collections.Generic; 
using  System.Text; 
using  System.Windows.Forms; 
// 
using  BlogWriter.Interface; 
using  BlogWriter.Interface.Service; 
using  BlogWriter.Interface.BlogAPI; 
namespace  Houfeng.BlogWriterPlugins 

        public  class  PreBrowser:IPlugin 
        { 
                public  PlugBaseInfo  BaseInfo 
                { 
                        get 
                        { 
                                BlogWriter.Interface.PlugBaseInfo  bi  =  new  BlogWriter.Interface.PlugBaseInfo(); 
                                bi.Name  =  "插件名字"
                                bi.Readme  =  "插件描述"
                                bi.Type  =  "FunctionMenu"
                                return  bi; 
                        } 
                } 
                public  void  Start() 
                { 
                        FunctionMenuService  fm  =  new  FunctionMenuService(); 
                        ToolStripMenuItem  ti  =  new  ToolStripMenuItem("插件Demo(&B)"); 
                        ti.Click  +=  new  EventHandler(ti_Click); 
                        fm.AddMenuItem("插件Demo",  ti); 
                } 
                void  ti_Click(object  sender,  EventArgs  e) 
                { 
                       // 菜单项事件处理
                } 
        } 


嘿嘿!注意添加对 BlogWriter.Interface.dll 的引用 
此文章使用BlogWriter发布...

最新:

单击这里下载

 

作者: houfeng
出处:http://houfeng.cnblogs.com 
本文版权归作者和博客园共有,未经作者同意请保留此声明.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-612101/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-612101/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值