圖片上傳5-多個圖片上傳,獨立專案Demo和原始碼

小雷FansUnion發表於2015-11-03
圖片上傳,一次性可以上傳多個圖片,每個圖片可以有名字、URL、排序、備註等欄位。
這是區別於使用百度WebUploader等多圖上傳工具的地方。

專案相關圖片





Jar包管理:Maven


用到的框架:SpringMVC、Spring、Mybatis、Freemarker、Log4j等


入口檔案:web.xml


配置Spring的DispatcherServlet和SpringMybatis整合的spring-mybatis.xml。


Controller有2個:
IndexController:圖片檢視viewPhoto,圖片管理managePhoto
ImageUploader:響應圖片上傳請求


前端圖片上傳,使用的是ajax非同步上傳,jquery ajax,需要引入jquery庫。


整個專案的要點就是:
前端JS繫結各種事件,動態生成HTML,控制好變數的維護和提交。
後端Java執行儲存、檢視,從資料庫獲得資料,維護資料。


圖片Photo表的結構
CREATE TABLE `photo` (
  `id` bigint(10) unsigned NOT NULL AUTO_INCREMENT,
  `bizid` bigint(11) NOT NULL DEFAULT '-1' COMMENT '業務id,比如專案的id',
  `cover` int(11) DEFAULT '0' COMMENT '1:是,0:不是',
  `sort` int(11) DEFAULT '0' COMMENT '越小越靠前',
  `url` varchar(200) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL COMMENT '圖片的原檔名',
  `remark` varchar(255) DEFAULT NULL COMMENT '圖片備註',
  `status` int(11) DEFAULT '0' COMMENT '0:正常,1:已刪除,2:臨時的',
  `type` int(11) DEFAULT '1' COMMENT '1:專案資料 2:待續',
  `addtime` datetime DEFAULT NULL,
  `uptime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=184 DEFAULT CHARSET=utf8 COMMENT='使用者上傳的圖片';




需要特別說明的是,由於程式碼是從其它專案裁剪過來的,部分程式碼看起來有點多餘,有點彆扭。
有需要的,自行改造~目前圖片檔案,儲存在本地專案/WebContent/image目錄,
由於需要,未來可能會增加儲存到Fastdfs的介面。


可能存在bug哦~


專案原始碼地址:https://git.oschina.net/fansunion/ManyImageUploadDemo.git


小雷FansUnion
2015年11月3日
湖北-武漢-循禮門
QQ:240370818
微信:FansUnion

相關文章