基于Extjs的相册系统设计

本文详细介绍了如何利用Extjs技术设计并实现一个相册系统,涵盖了从与FTP服务器交互获取图片到在浏览器中展示的全过程,同时讨论了关键函数的实现和搜索引擎优化的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

基于Extjs的相册系统设计
 
一、系统结构
系统结构分为四大部分:
1、 图片管理器(PhotoManage),图片分类管理、图片目录管理、图片上传控件。
2、 图片浏览器(PhotoSee),类似于ACDSee,键盘的四个方向键分别控制上一页、下一页、放大和缩小。可以对每幅图片添加备注,显示图片的Exif信息,对图片进行评论等。
3、 图片搜索引擎(PhotoSearch),可以对图片备注、图片标题、图片的Exif信息进行搜索。
4、 后台管理器(Web Management),对用户帐号、密码等进行管理。
 
二、系统设计
重点说一下图片上传控件、图片浏览器和图片搜索的实现。
1、图片上传控件。图片上传控件采用JavaApplet编写,以JNLP的方式发布。首先用JavaApplet编写一个图片浏览器(如图1)方便挑选要上存的图片。使用FTP方式上传,FTP服务器端使用Apache 的开源项目FTPServer上传的时候先生成图片的缩略图,图片名随机生成。图片上传到FTP服务器后还要将图片的信息(如路径、名称、Exif信息等)提交服务器,最后要使JavaApplet浏览本地的图片文件就要使用数字签名。
图1
2、图片浏览器是基于Extjs编写的,浏览器的窗口采用左右布局,左边是图片的信息,导航栏等,右边是图片浏览区。图片的显示采用Ajax技术,实现不刷屏显示图片,每显示一幅图片都执行一次CreatPhoto()函数。
 
function CreatPhoto(){ // 创建IMG,每开一幅图运行一次
 
    oldImg = objDivImg.firstChild; //<old img>
    objDivImg.removeChild(oldImg); // 删除旧的IMG
 
    objDivImg.style.visibility = "hidden";
    objImg = document.createElement("img");
 
    objImg.onload = function(){
        originalWidth = objImg.width ;
        originalHeight = objImg.height;
 
        if (isFitScreen){
            creatFitScreen();
        }else{
            creatOriginalScreen();
        }
       
        onGetRemark(gAlbumInfo[photoIndex][2]);
       
        objDivImg.style.visibility = "visible";
       
    };
 
    if (Ext.isIE){ // 设置图片移动 设置position : absolute ; 才可以移动
        objImg.setAttribute("className","ImgMain");
    }else{
        objImg.setAttribute("class","ImgMain");
    }
 
    objDivImg.appendChild(objImg); // 创建新的IMG
 
    objImg.src = COMMON_PICS_DIR + gAlbumInfo[photoIndex][1] + '/' + gAlbumInfo[photoIndex][0];
 
}

 

EXTJS学习必备. 电子书. EXT 中文手册 ................................................................................................................. 1 EXT简介 .................................................................................................................. 5 目錄 ................................................................................................................ 5 下载Ext ............................................................................................................. 6 开始! ............................................................................................................... 6 Element:Ext的核心 .......................................................................................... 6 获取多个DOM的节点 ....................................................................................... 7 响应事件............................................................................................................ 7 使用Widgets ...................................................................................................... 9 使用Ajax ..........................................................................................................11 EXT源码概述 ......................................................................................................... 13 揭示源代码 ...................................................................................................... 13 发布Ext源码时的一些细节 .............................................................................. 14 我应该从哪里开始? ........................................................................................ 15 适配器Adapters................................................................................................ 15 核心Core ......................................................................................................... 15 Javascript中的作用域(scope) ............................................................................... 15 事前准备.......................................................................................................... 15 定义................................................................................................................. 15 正式开始.......................................................................................................... 16 window对象 .................................................................................................... 16 理解作用域 ...................................................................................................... 17 变量的可见度................................................................................................... 17 EXT程序规划入门 .................................................................................................. 18 事前准备.......................................................................................................... 18 需要些什么?................................................................................................... 18 applayout.html................................................................................................... 18 applayout.js....................................................................................................... 19 公开Public、私有Private、特权的Privileged?................................................. 21 重写公共变量................................................................................................... 23 重写(Overriding)公共函数 ............................................................................ 23 DomQuery基础 ....................................................................................................... 24 DomQuery基础 ................................................................................................ 24 扩展EXT组件 ........................................................................................................ 31 文件的创建 ...................................................................................................... 31 Let's go............................................................................................................. 35 完成................................................................................................................. 37 EXT的布局(Layout)............................................................................................ 39 简单的例子 ...................................................................................................... 40 加入内容.......................................................................................................... 43 开始使用Grid .........................................................................................................
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值