本來覺得這個系統會很復雜,但把每個部分都分 " /> 成年人视频在线,99久久精品国产一区二区三区,在线不卡的av

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

仿163網盤無刷新文件上傳系統

這個仿163網盤無刷新文件上傳系統,并沒有用使用.NET的控件,完全的手工制作。前臺基本上是靜態的,跟后臺沒有關系,所以后臺用什么語言做都可以(后面有各個版本的實例下載)。
本來覺得這個系統會很復雜,但把每個部分都分析清楚后,其實需要的技術并不高。不過當我把各個功能函數都整理好準備進行封裝時,卻發現要把程序封裝不是那么容易,因為程序跟html的耦合度太高。然后我逐步把程序中操作html相關的部分分離出來,首先把簡單的分離,接著是文件列表,然后是file控件,最后是一些提示性程序。經過幾次嘗試才把整個結構封裝好,現在程序結構應該算比較清晰,有什么不明白的地方歡迎留言。

效果預覽

上傳文件
添加文件:
文件路徑 
溫馨提示:最多可同時上傳 個文件,只允許上傳 文件。
   
這里的預覽只是前臺的效果,要整個系統測試請下載完整實例。

程序說明

 

【無刷新上傳】
要實現文件上傳,form必須設置幾個屬性:
1.action:設為要處理數據的頁面地址;
2.method:設為"post";
3.enctype/encoding:必須設為"multipart/form-data",這里要注意的是在ie中用js修改form的enctype屬性是沒有效果的,只能修改encoding;

后面兩個屬性程序初始化時都有設置:

this.Form.method = "post";
this.Form.encoding = "multipart/form-data";

【多文件上傳】
對于多文件上傳,這里的目的是如何做到163網盤那樣,只用一個file控件就實現多文件上傳。
這里參考了163網盤的思路,下面說說如何實現:
首先必須有一個文件空間(我自己定的名字),例如程序中的"idFile"對象,這個空間不需要內容甚至一個div就可以,主要是用來存放file控件,程序中Folder屬性就是這個文件空間對象。
ps:這里的要求是把file控件都控制在文件空間里,即使不是單file控件的情況。
再說說Files屬性,這個屬性放的是file控件集合,方便獲取file控件,在下面“文件列表”就會用到。

 

處理這些file控件的程序主要在Ini函數中:
首先是處理文件空間中的file控件:

Code


【文件列表】
在上面的Ini函數中,最后執行了一個附加函數onIni,這個函數是用戶自己定義的,我就在這個函數中添加文件列表。

 

在之前先說說添加文件列表的函數AddList,這個函數是用來把file控件的值列在一個table里面。
函數的參數是一個二維數組,其中第一維是行(tr),第二維是列(td)。
首先獲取列表對象FileList,再定義一個文檔碎片oFragment來操作dom:

var FileList = $("idFileList"), oFragment = document.createDocumentFragment();

【后臺】

 

前臺基本完成了,就到后臺啦。后臺的功能很簡單,就是處理傳遞過來的文件數據。
這里像js + .NET 圖片切割系統那樣使用ashx文件處理IHttpHandler發送過來的數據。
程序很簡單,就直接貼代碼了:

Code

NET技術仿163網盤無刷新文件上傳系統,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 恶人想要抢救一下 漫画| 吴彦祖《偷窥无罪》| 林书宇| 美国派7| 炊事班的故事演员表| 生活片爱情电影大全| 美国电影《迷失》完整版免费观看| 滑胎最凶的食物孕早期| 喂找谁呀 电影| 杨文元| 科室对分级护理落实情况检查记录| 魅力学院电影| 洛城僵尸| 婴儿几个月添加辅食最好| 24点数学题目100道| 那些女人演员表全部名单| 东方卫视节目表| 民国奇探2出来了吗| 暗夜幕后在线观看完整版| 小猫叫声吸引猫mp3| 林莉娴| 血色樱花| 喜迎20大文艺汇演主持词| 艳女十八式无删除版| 美国电影player| 87电影| dj音乐劲爆dj| 韦伦| 接吻教学视频| 四 电影| 李安娜| 《假期》电影| 三人行菲律宾| 光彩年华| 手机抖音网页版入口| 雪天使演员表介绍| 短篇500篇 合集大结局| 定型枕什么时候能给宝宝用| 张子恩| 孤芳岚影| 赫卡特|