Flickr.net傻瓜教程(三)--打造自己的图片搜索引擎

news/2024/7/24 1:51:50

首先说两句闲话,谢谢大家的关注,其实我写这个系列文章的初衷是自己想对Open API项目有个了解,Flickr目前也是刚刚接触没几天,虽然以前一直听说过,但是一直没有机会使用,正好借着这次学习的机会系统学习下,但是我在网上搜索了一下,始终找不到关于开发方面的文章,大部分的文章是关于使用的,所以一着急就自己写了,水平有限,希望大家可以原谅。

书归正传,这次我们的目标是打造一个属于自己的图片搜索引擎,这个题目虽然大,但是实现起来却非常的简单,简单到大家都不愿意去做的地步,没办法谁让我这么爱助人为乐呢,我就嘚吧几句吧。

首先给大家看两张效果图:

 

 

   是不是效果不错,心动了吧,嘿嘿!那就别着急,听说慢慢道来。

   首先工程什么的就不用说了,关键是下面的代码,先贴上:

   先看page_load

  

  protected   void  Page_Load( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
{
        PhotoRepeater.DataSource 
= GetPhotos();
        PhotoRepeater.DataBind();
    }

    这就不用多说了吧,就是一个方法:

   

public  PhotoCollection GetPhotos()
ExpandedBlockStart.gifContractedBlock.gif    
{
        
string keyword = Request.QueryString["urltext"];
        
try
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{

            Flickr myFlickr 
= new Flickr();

            PhotoSearchOptions searchOptions 
= new PhotoSearchOptions();

            searchOptions.Tags 
= keyword;
            searchOptions.PerPage 
= 10;
            Photos myPhotos 
= myFlickr.PhotosSearch(searchOptions);

            
this.Label1.Text = "找到相关图片约" + myPhotos.TotalPhotos.ToString() +"张。";



            
return myPhotos.PhotoCollection;

           

        }

        
catch (Exception ex)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            Response.Write(ex.Message);
            
return null;
        }

    }

     这里是关键,关键的代码才几行啊,是不是很简单。看过前面两节课程的朋友看到这里应该不用我说了吧。

其实就是前面一页传递过来一个urltext,然后在结果页显示结果(废话),可我真想不到应该说什么,有不明白的大家就留言吧。

     工程文件在此。http://files.cnblogs.com/tippoint/test.rar

 

    卖个官子,把这个扩展一下,可以提供更多的信息。这个例子由于我比较懒,分页就没做,大家自己实践一下就好了,其实方法很多,比如用aspnetpager等等的。先看看下一篇的图片

 

        


http://www.niftyadmin.cn/n/1014089.html

相关文章

(转载)Java云计算两种方法的比较

最近,人们在思考如何使用Java来实现云计算,我看到了两种趋势性的方法。它们存在交叉重叠处而并非互相排斥,但总体而言它们在项目方面有着非常不同的表现:重面向UI(Heavy UI oriented)这种类型的应用或框架通…

启动nacos报错

报错内容: failed to req API:127.0.0.1:8848/nacos/v1/ns/service/list. code:503 msg: server is DOWN now, please try again later! 解决方法: 删除nacos文件夹中data文件夹下所有的东西,这三个文件夹都删除。

系统管理员的纪念节日,关怀身边每一位IT人

如果您能顺利看到此网页,谢谢这一群人是他们——安装路由器,拉网路线,架设防火墙,部署应用程式,让资讯得以在企业內外流通。 是他们——检查电脑硬体,安装作业系统,提供咨询建议,确保…

使用pm2管理应用报错

报错内容如下: pm2 : 无法加载文件 D:\software\node\node_global\pm2.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.mic rosoft.com/fwlink/?LinkID135170 中的 about_Execution_Policies。 解决方法 以管理员身份运…

OpenSSL介绍

网站主页: http://www.openssl.org/source/ 为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。 1.对…

简便的将DataSet导入到数据库中

有时候我们需要经常的将数据集(DataSet)导入到数据库中,可是怎么办呢? 有人就说了,利用Sql语句马上就可以搞定了,对,sql是可以搞定,但是sql的拼接不可以有差错啊,利用SqlParameter可以减少类型的…

wxWidgets中字符串操作例子

在wxWidgets中,常见的字符串不能直接使用,而且照顾到跨平台的特性,所以字符串的处理通常是比较繁琐的,以下的代码均是工作中所所用到的片段。通过这样的方式可以将字符串进行格式化。并且由wxMessageBox弹出对话框,将字…

IDEA项目启动报错Command line is too long

报错内容: Error running **** Error running****. Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun. 解决方法: 1. 点击Edit Configurations 2.点击Environment 3. 修改Shorten comm…