WEB开发网
开发学院软件教学办公软件Word 上传图片——Word 2007高级应用(十) 阅读

上传图片——Word 2007高级应用(十)

 2008-09-28 20:18:33 来源:WEB开发网   
核心提示: 结果是让人欣喜的,原来Image实现了IStream接口(该接口的托管定义可以在System.Runtime.InteropServices.ComTypes命名空间里找到),上传图片——Word 2007高级应用(十)(4),这样,我们就可以继续走下去了,下一回,最终回, 增值服务区Co

上传图片——Word 2007高级应用(十)

结果是让人欣喜的,原来Image实现了IStream接口(该接口的托管定义可以在System.Runtime.InteropServices.ComTypes命名空间里找到),这样,我们就可以继续走下去了。

增值服务区

Converting between IPictureDisp and System.Drawing.Image,Andrew Whitechapel

Platform Invocation Services in .NET Framework,Dinesh Ahuja

有了这些准备,我们就可以写一个辅助方法读取Image的数据了:

上传图片——Word 2007高级应用(十)

需要说明的是,IStream.Stat() 方法的第二个参数可取STATFLAG枚举的任一值,我尝试给它传个0,以便获取图片名字用于稍后的上传,无奈只得一个null,只好换回1,让它无需在返回的STATSTG结构中包含pwcsName成员的值。至于图片的上传,我选择使用Cook Computing的XML-RPC.NET类库来访问博客园的MetaWeblog API。

下载xml-rpc.net.2.1.0.zip压缩包,从中解出CookComputing.XmlRpcV2.dll和MetaWeblogAPI.cs两个文件,修改一下MetaWeblogAPI.cs中IMetaWeblog接口,使它继承自IXmlRpcProxy接口(否则后面没有办法指定MetaWeblog API的URL),接着把它们都添加到项目里,然后就可以实现PublishPicture() 方法了:

上传图片——Word 2007高级应用(十)

现在万事俱备,只欠在ThisAddIn类中重写RequestService() 方法了:

上传图片——Word 2007高级应用(十)

至此,上传图片问题的探讨要告一段落了。此时,有人可能会问,这个扩展能工作吗?是的,到目前为止,这个系列的文章都是在Word 2007上完成并发布的。虽然这个扩展还有很多地方需要完善,不过作为一个探索的手段,我想这已经足够了。开发并不是软件的全部,要使软件成功发挥作用,我们就不能忽略/忽悠部署这个环节。下一回,最终回,我们将探讨插件的部署以及其它相关的问题。

上一页  1 2 3 4 

Tags:上传 图片 Word

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接