zoukankan      html  css  js  c++  java
  • Flickr.net傻瓜教程(三)打造自己的图片搜索引擎2

        上一篇中有几个没有实现的地方,主要因为比较懒,现在补充上。

        1.分页 2.flickr的方法应用

        分页这个例子采用了gridview的分页(又偷懒!)其实我个人感觉,既然控件于功能干吗不用,我这个人是能省则省,写那么多代码我自己看着都累。

       flickr的应用我这里主要是对photos的应用,其余的大家可以去flickr.com上看,我也是在做这个demo的时候跑到上面去看的,要是他能提供一个类的说明文件下载就好了,省得我找个方法得翻一下,太烦了。

       效果图在上个例子中。

       说说具体的部分吧,其实前台页面也很重要,这里就先说它。

     1<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
     2                        ForeColor="#333333" GridLines="None" Width="100%" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" >
     3                        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
     4                        <RowStyle BackColor="#EFF3FB" />
     5                        <Columns>
     6                            <asp:BoundField HeaderText="名称" DataField="title" >
     7                                <ItemStyle CssClass="center" />
     8                            </asp:BoundField>
     9                            <asp:ImageField HeaderText="图片" DataImageUrlField="SquareThumbnailUrl">
    10                                <ItemStyle CssClass="center" />
    11                            </asp:ImageField>
    12                            <asp:TemplateField HeaderText="尺寸">
    13                            <ItemTemplate>
    14                            <%# mydeal(Eval("photoID").ToString()) %>
    15                            </ItemTemplate>
    16                                <ItemStyle CssClass="right" />
    17                            </asp:TemplateField>
    18                        </Columns>
    19                        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
    20                        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
    21                        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
    22                        <EditRowStyle BackColor="#2461BF" />
    23                        <AlternatingRowStyle BackColor="White" />
    24                    </asp:GridView>

        其实这里就是自己定义了3个列,名称、图片和尺寸。前面两个不用说,都是直接绑定显示值的。关于尺寸,由于每一个图片都有若干种尺寸,需要调用flickr的方法来返回尺寸大小和图片的链接地址,所以这里不是直接绑定值,需要做个处理,我索性就写了个方法,然后<%# mydeal(Eval("photoID").ToString()) %>就OK了。

       对了,另外说明一下,photoID这个很有用,在关于photos的类的应用中很多都是要使用它作为输入参数的,我找他也费劲了,一开始看说明在photo类下,可是怎末也找不到,最后才发现,返回的myPhotos.PhotoCollection就是photo的集合,谁让自己英文不好呢。

      后台的关键就是mydeal的方法。

     

     1public string mydeal(string inputstr)
     2    {
     3        Sizes mySizes = myFlickr.PhotosGetSizes(inputstr);
     4        //获取尺寸种类个数
     5        string outstr = "";
     6        int sizenum = mySizes.SizeCollection.Length;
     7        for (int i = 0; i < sizenum; i++)
     8        {
     9            string width = mySizes.SizeCollection[i].Width.ToString();
    10            string height = mySizes.SizeCollection[i].Height.ToString();
    11            string linkurl = mySizes.SizeCollection[i].Source.ToString();
    12            outstr += "<a href='"+ linkurl +"' target='_blank'>" + width + "×" + height + "</a><br>";
    13        }

    14
    15        return outstr;
    16    }

         我的变量定义很直接,就不用说什么了吧,其余的部分,我吧源文件发上来,大家一看就明白了。

       https://files.cnblogs.com/tippoint/WebSite11.rar

        另外关于最后一篇,想做一个winform的例子,但是想大到做什么,大家有什么好点子吗?

       如果大家喜欢我的教程,就给我留言,谢谢!

  • 相关阅读:
    Session Cookie介绍和使用
    Java 设计模式(概述)
    Java-JSON 解析
    Java Fileupload
    docker执行mysql容器修改用户权限
    分布式事务Seata
    idea配置git_2
    idea配置注释
    idea配置git的ssh
    远程阿里云镜像问题
  • 原文地址:https://www.cnblogs.com/tippoint/p/1247755.html
Copyright © 2011-2022 走看看