zoukankan      html  css  js  c++  java
  • SharePoint WebPart:扩展SharePoint 2007中图片展示功能

    有一个企业需要做内部的多媒体管理系统, 以前用SPS做过OA方面的应用

    做这个方面的系统不一定是WSS的强项,

    但多媒体文件无非就是:文件管理+媒体展示,

    困难:

    1 效率问题, WSS V3,效率还可以。

    2 媒体文件的展示, 可以开发自定的WEB PART。(经过测试,放在WSS的内容数据库中文件,可以被播放器播放)

    3 大媒体文件的上传(超过50M),可以做Event Handler,上传时直接上传文件到流媒体服务上,WSS自己做检索。

    4 不知道MOSS 2007和流媒体服务器可不可以安装在一台机器机上。


    刚才搞定了多媒体管理里面最容易搞定的事情:图库管理功能。

    用SharePoint做企业图库管理系统的优势

    如图:

    于Windows文件夹一样的管理页面,不用上传,直接粘贴就好了。

     

    *如果想用网页,可以方便的上传

    美中不足的是,系统内置的Webpart没有提供这个功能,

    就是:把当前网站下的所有的图片库中的最新8张图片,按照库分类,以缩略图的形式展示。

       

    有了这个,WebPart,我们就可以,在几分钟之内,搞定一个强大的图库系统。

    开发后如图:

     

     这个Webpart可以放在图库的首页,用来展示,子站点下最新的图片的缩略图:

    这个WEBPART的开发,要用到KaneBoy的QuickPart, 这个控件,可以把ASP.NET的用户控件,包装成一个WebPart,。

    OK,下面就是开发,WEB Control的内容了:

    首先我们要知道,图片库的缩略图在什么地方,一般在,图库的“_t/ ”下面。

    所有的缩图,扩展名全为:JPG,文件名为:原图主文件名_原图扩展名.JPG

    在VS2005中新建Web Application,删除default.aspx, 新建一个“用户控件”组件,加入一个:DIV,然后右击,“作为服务器控件运行”,在代码的Page_load()事件里面输入:

     

      SPWeb mySite = SPContext.Current.Web;

            
    string strRe = "";

            
    for (int j = 0; j < mySite.Lists.Count; j++)
            
    {
                
    if (mySite.Lists[j].BaseTemplate == SPListTemplateType.PictureLibrary)
                
    {


                    SPListItemCollection listItems 
    = mySite.Lists[j].Items;

                    
    if (mySite.Lists[j].Items.Count > 0)                {



                        strRe 
    += "<table width = \"100%\" border = \"0\"><tr><td colspan=\"4\" style=\"font-weight: bold; font-size: 11pt; color: #ffffff; background-color: #566ea5\">";
                        strRe 
    += mySite.Lists[j].ToString() + "</td></tr><tr>";



                        
    for (int i = 0; i< (listItems.Count>8? 8:listItems .Count ) ; i++)
                        
    {
                            SPListItem item 
    = listItems[listItems.Count -i-1];

                            strRe 
    += "<td><table><tr><td><img src=\"" + item.ParentList.ParentWebUrl + "/" + item.Url.ToString().Replace(".""_").Replace("/""/_t/") + ".jpg\"/></td></tr>";
                            strRe 
    += "<tr><td>" + item["名称"].ToString() + "</td></tr></table></td>";
                            
    if ((i + 1% 4 == 0)
                                strRe 
    += "</tr><tr>";

                        }


                        strRe 
    += "</tr></table>";
                    }



                }



            }


           DIV1.InnerHtml 
    = strRe;

    编译后,按照QiuckPart的部署方法,部属。

    一个图库系统,只要十几行代码,是不是很爽呢?

    当然,如果,你不需要在图库的首页展示缩图,只要求以文字形式列出更新,那么一行代码,也不要。

  • 相关阅读:
    day91:luffy:基于vue+drf的路飞学城项目后端部署
    day90:luffy:基于vue+drf的路飞学城项目前端部署
    day89:luffy:使用Celery完成我的订单超时取消&Polyv视频加密播放
    day88:luffy:支付宝同步结果通知&接收异步支付结果&用户购买记录&我的订单
    day87:luffy:结算页面积分&支付宝接口
    day86:luffy:前端发送请求生成订单&结算页面优惠劵的实现
    day85:luffy:购物车根据有效期不同切换价格&购物车删除操作&价格结算&订单页面前戏
    C++中子类出现与父类同名成员函数如果调用父类函数
    C++继承方式引起子类中继承的父类属性访问权限的改变 && C++对象大小
    C++引用传递和指针传递区别
  • 原文地址:https://www.cnblogs.com/dosboy/p/677032.html
Copyright © 2011-2022 走看看