有时候我们从其他网页上拷贝来的内容中含有图片,当原始地址失效后就会影响读者阅读。
所以我制作了这样一个插件,可以将远程图片保存到本地服务器。
声明:下面的文字是本文不可缺少的部分,转载请保留,谢谢!
////////////////////////////////////////////////////
作者:武眉博<活靶子.NET>
同时首发于:
落伍者 && 博客园
开发者学院 && .Net男孩社区
////////////////////////////////////////////////////
今天转载了[author]xiaozhuang[/author]朋友的文章同时从博客园服务器上下载了图片
演示见:/uploadfile/201210/12/2D203622174.JPG" width=404 align=baseline border=0>
原理如下:
1.实现ICallbackEventHandler接口以用启用客户端回调。
2.从当前FckEdiotr内容分析出所有 3.回调下载到服务器。
4.返回下载后位于本服务器上的路径。
5.替换当前FckEdiotr内容内对应的
其他废话不多说了,代码中都有注释。
如果您熟悉Fckeditor的插件工作流程,请继续向下阅读,另请不要留言要我直接提供下载,下面的代码已经可以完整调试了。
E:\IISROOT\FckTest\FckTest\fckeditor\editor\plugins\remoteimagerubber\remoteimagerubber.aspx
1 <%--
??2?使用单页模型(非代码后置),是为了便于此插件部署,
??3?不需编译成dll,只需拷贝remoteimagerubber.aspx?和?fckplugin.js?到plugn目录,
??4?并配置一下fckconfig.js及相应的语言包,就可以使用了。
??5?--%>
6
7 <%@?Page?Language="C#"?%>
8
9 <%@?Import?Namespace="System.Net"?%>
10 <%--
?11?实现ICallbackEventHandler接口以提供客户端回调功能。
?12?--%>
13 <%@?Implements?Interface="System.Web.UI.ICallbackEventHandler"?%>
14
15 <script runat="server">
16
17 ///
18 /// 此处配置远程文件保存目录
19 /// 20 private static readonly string savePath = "~/Uploads/";
21
22 ///
23 /// 此处配置允许下载的文件扩展名
24 ///
25 /// 暂未考虑使用动态网页输出的图片如:http://site/image.aspx?uid=00001 这样的URI;
26 /// 若要实现此功能可读取流并判断ContentType,将流另存为相应文件格式即可。
27 ///
28 /// 29 private static readonly string[ ] allowImageExtension = new string[ ] { ".jpg" , ".png" , ".gif" };
30
31 ///
32 /// 此处配置本地(网站)主机名
33&nb