• 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的部署方法,部属。

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

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

  • 相关阅读:
    《Linux就该这么学》第十二课
    《Linux就该这么学》第十一课
    《Linux就该这么学》第十课
    《Linux就该这么学》第九课
    《Linux就该这么学》第八课
    模板层
    路由层
    git的使用
    属性选择器
    高级选择器
  • 原文地址:https://www.cnblogs.com/dosboy/p/677032.html
Copyright © 2020-2023  润新知