首先说两句闲话,谢谢大家的关注,其实我写这个系列文章的初衷是自己想对Open API项目有个了解,Flickr目前也是刚刚接触没几天,虽然以前一直听说过,但是一直没有机会使用,正好借着这次学习的机会系统学习下,但是我在网上搜索了一下,始终找不到关于开发方面的文章,大部分的文章是关于使用的,所以一着急就自己写了,水平有限,希望大家可以原谅。
书归正传,这次我们的目标是打造一个属于自己的图片搜索引擎,这个题目虽然大,但是实现起来却非常的简单,简单到大家都不愿意去做的地步,没办法谁让我这么爱助人为乐呢,我就嘚吧几句吧。
首先给大家看两张效果图:
是不是效果不错,心动了吧,嘿嘿!那就别着急,听说慢慢道来。
首先工程什么的就不用说了,关键是下面的代码,先贴上:
先看page_load
protected void Page_Load(object sender, EventArgs e)
{
PhotoRepeater.DataSource = GetPhotos();
PhotoRepeater.DataBind();
}
{
PhotoRepeater.DataSource = GetPhotos();
PhotoRepeater.DataBind();
}
这就不用多说了吧,就是一个方法:
public PhotoCollection GetPhotos()
{
string keyword = Request.QueryString["urltext"];
try
{
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)
{
Response.Write(ex.Message);
return null;
}
}
{
string keyword = Request.QueryString["urltext"];
try
{
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)
{
Response.Write(ex.Message);
return null;
}
}
这里是关键,关键的代码才几行啊,是不是很简单。看过前面两节课程的朋友看到这里应该不用我说了吧。
其实就是前面一页传递过来一个urltext,然后在结果页显示结果(废话),可我真想不到应该说什么,有不明白的大家就留言吧。
工程文件在此。https://files.cnblogs.com/tippoint/test.rar
卖个官子,把这个扩展一下,可以提供更多的信息。这个例子由于我比较懒,分页就没做,大家自己实践一下就好了,其实方法很多,比如用aspnetpager等等的。先看看下一篇的图片