精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ASP.NET應(yīng)用程序處理文件上傳

開發(fā) 后端
本文介紹ASP.NET應(yīng)用程序處理文件上傳,以減少ASP.NET應(yīng)用程序線程的消耗。現(xiàn)在有了IIS 7,如果使用集成管道模式,應(yīng)該也可以使用托管代碼進(jìn)行擴(kuò)展。

在Web程序中文件上傳是很常見的需求。利用HTTP協(xié)議文件上傳的方式非常有限,最常見的莫過于使用<input type="file" />元素進(jìn)行上傳。這種上傳方式會將內(nèi)容使用multipart/form-data方案進(jìn)行編碼,并將內(nèi)容POST到服務(wù)器端。使用 multipart/form-data編碼方式與默認(rèn)的application/x-url-encoded編碼方式相比,在大數(shù)據(jù)量情況下效率要高很多。

使用<input type="file" />文件上傳最大的優(yōu)勢在于編程方便,幾乎各種服務(wù)器端技術(shù)都對這種上傳方式做了良好的封裝,使得程序員能夠直觀地對客戶端上傳的文件進(jìn)行處理。不過總體來說,這個協(xié)議并不適合做文件傳輸,解析數(shù)據(jù)流內(nèi)容的代價相對較高,并且沒有一些例如斷點續(xù)傳的機(jī)制來輔助,導(dǎo)致在上傳大文件時經(jīng)常會力不從心。

有朋友認(rèn)為使用<input type="file" />文件上傳最大的問題在于內(nèi)存占用太高,由于需要將整個文件載入內(nèi)存進(jìn)行處理,導(dǎo)致如果用戶文件上傳太大,或者同時上傳的用戶太多,會造成服務(wù)器端內(nèi)存耗盡。這個觀點其實是錯誤的。對于某些服務(wù)器端的技術(shù),例如Spring Framework,或者早期ASP.NET 1.1時,為了供程序處理,都會將用戶上傳的內(nèi)容完全載入內(nèi)存,這的確會帶來問題。但是其實協(xié)議本身并沒有規(guī)定服務(wù)器端應(yīng)該使用何種方式來處理上傳的文件。例如在現(xiàn)在的ASP.NET 2.0中就已經(jīng)會在用戶上傳數(shù)據(jù)超過一定數(shù)量之后將其存在硬盤中的臨時文件中,而這點對于開發(fā)人員完全透明,也就是說,開發(fā)人員可以像以前一樣進(jìn)行數(shù)據(jù)流的處理。

ASP.NET 2.0啟用硬盤臨時文件的閾值(threshold)是可配置的:

  1. <system.web> 
  2. <httpRuntime 
  3. maxRequestLength="Int32" 
  4. requestLengthDiskThreshold="Int32"/> 
  5. </system.web> 

maxRequestLength自不必說,剛接觸ASP.NET的朋友總會發(fā)現(xiàn)文件上傳不能超過4M,這就是因為maxRequestLength的大小默認(rèn)為4096,這就限制著每個請求的大小不得超過4096KB。這么做的目的是為了保護(hù)應(yīng)用程序不受惡意請求的危害。當(dāng)請求超過maxRequestLength之后,ASP.NET處理程序?qū)⒉粫幚碓撜埱蟆_@里和ASP.NET拋出一個異常是不同的,這就是為什么如果用戶文件上傳太大,看到的并非是ASP.NET應(yīng)用程序中指定的錯誤頁面(或者默認(rèn)的),因為ASP.NET還沒有對這個請求進(jìn)行處理。requestLengthDiskThreshold就是剛才所提到的閾值,其默認(rèn)值為256,即一個請求內(nèi)容超過256KB 時就會啟用硬盤作為緩存。這個閾值理論上和客戶端是否是在上傳內(nèi)容無關(guān),只要客戶端發(fā)來的請求大于這個值即可。因此,在ASP.NET 2.0中服務(wù)器的內(nèi)存不會因為客戶端的異常請求而耗盡。

如果我們需要在ASP.NET應(yīng)用程序處理文件上傳,我們一般就會直接使用<asp:FileUpload />控件進(jìn)行文件上傳。如果一個頁面中存在<asp:FileUpload />控件,那么頁面中form元素的enctype就會被自動改為multipart/form-data,而且我們可以在頁面PostBack之后通過<asp:FileUpload />控件的引用來獲得客戶端通過該控件所上傳得文件。不過,如果文件上傳的功能需要較為特別的需求——例如需要進(jìn)度條提示,<asp:FileUpload />控件就無能為力了。

確切地說,應(yīng)該是<input type="file" />所能提供的支持非常有限,因此一些特殊需求我們不能實現(xiàn)——嚴(yán)格說來,應(yīng)該是無法輕易地、直接地實現(xiàn)。這樣,在實現(xiàn)這些功能時,我們就會繞一個大大的彎。為了避免每次實現(xiàn)相同功能時都要費神費時地走一遍彎路,因此出現(xiàn)了各種上傳組件。上傳組件提供了封裝好的功能,使得我們在實現(xiàn)文件上傳功能時變得輕松了很多。例如幾乎所有的上傳組件都直接或間接地提供了進(jìn)度提示的功能,有的提供了當(dāng)前的百分比數(shù)值,有的則直接提供了一套UI;有的組件只提供了簡單的UI,有的卻提供了一整套上傳、刪除的管理界面。此外,有的組件還提供了防止客戶端惡意上傳的能力。

關(guān)于ASP.NET下的上傳組件,最廣為流傳的方式莫過于在ASP.NET Pipeline的BeginRequest事件中截獲當(dāng)前的HttpWorkerRequest對象,然后直接調(diào)用其ReadEntityBody等方法獲取客戶端傳遞過來的數(shù)據(jù)流,并加以分析和處理。在ASP.NET 1.1時期,這么做的目的是為了直接將數(shù)據(jù)寫入硬盤,以避免上傳內(nèi)容消耗太多服務(wù)器內(nèi)存,但是現(xiàn)在自然已經(jīng)不會因為這個原因而這么做了。從客戶端發(fā)起請求到一定規(guī)模的數(shù)據(jù)傳輸完畢需要一段時間,那么從HttpWorkerRequest對象中讀取數(shù)據(jù)流自然需要一段時間,而在這段時間內(nèi),客戶端可以使用新的請求進(jìn)行輪詢來獲得當(dāng)前上傳的狀況。這就是獲得上傳進(jìn)度的最傳統(tǒng)的做法。這個做法的原理很容易理解,但是寫出一個完整的組件其實很不容易,尤其是各種細(xì)節(jié)方面的問題會讓人感到防不勝防。此類組件中最成功且最著名的莫過于NeatUpload了。

NeatUpload是一個開源組件,使用LGPL(Lesser General Public License)許可協(xié)議,也就是說它是“business-friendly”的。NeatUpload可以在ASP.NET和 mono中使用,能夠?qū)⑸蟼鞯奈募嬖谟脖P中或者Sql Server數(shù)據(jù)庫中。NeatUpload提供了兩個服務(wù)器控件:<NeatUpload:InputFile> 和<NeatUpload:ProgressBar>。前者用于代替<asp:FileUpload />,可以通過它訪問到用戶通過特定上傳框上傳的內(nèi)容;后者則是一個進(jìn)度條顯示控件,負(fù)責(zé)使用彈出窗口或內(nèi)聯(lián)的形式顯示上傳的進(jìn)度。彈出窗口自不必說,而所謂的“內(nèi)聯(lián)”方式其實只是在頁面中嵌入一個Iframe元素,然后通過不斷刷新iframe中的頁面來進(jìn)行進(jìn)度展示而已——可見它和彈出窗口顯示方式的區(qū)別僅僅在頁面所處的位置。當(dāng)然,如果我們希望將其移植為AJAX形式也不難,只需開發(fā)一個頁面,繼承NeatUpload提供的 ProgressPage類,并通過ProgressPage所提供的一些屬性(總字節(jié)數(shù),已上傳字節(jié)數(shù),已花時間,etc.)來獲得當(dāng)前上傳的進(jìn)度,最后直接使用Response.Write輸出JSON形式的數(shù)據(jù)即可。事實上原本在iframe(或新窗口)中的頁面,也是繼承了 ProgressPage類,并且使用HTML的方式進(jìn)行呈現(xiàn)而已,本質(zhì)上并沒有太大區(qū)別。

不過個人認(rèn)為,其實NeatUpload的實用價值不高(這點稍后再述),它最大的意義還在于提供了一個完整的優(yōu)秀的示例。NeatUpload設(shè)計精巧,注釋完整,是個不可多得學(xué)習(xí)案例。如果能夠?qū)eatUpload的代碼研究一遍,那么相信在編程能力和ASP.NET的理解上都會上一個新的臺階。此外,在NeatUpload站點上還能夠發(fā)現(xiàn)NeatHtml。NeatHtml是一個開源的Web組件,用于顯示不安全的內(nèi)容(主要是用戶輸入內(nèi)容,例如博客評論,論壇帖子等等),主要用于避免跨站腳本(XSS,Cross-Site Scripting)等安全問題。作為組件的作者,Dean還將NeatHtml所用到的技術(shù)總結(jié)為一篇Whitepaper,感興趣的朋友可以看一下,這是一份不可多得的技術(shù)資料。

與NeatUpload類似的開源組件還有Memba Velodoc XP Edition,它是Velodoc文件管理系統(tǒng)的核心。不過嚴(yán)格說來,這不僅僅是一個上傳組件,而是一套文件管理的解決方案,它包含:
1. 一個兼容IIS 7集成管道模式的ASP.NET Http Module,支持大文件上傳使用(有趣的是,NeatUpload申明,IIS 7的一個Bug使它無法在IIS 7集成管道模式中使用)。
2. 一個支持?jǐn)帱c續(xù)傳的ASP.NET Http Handler。
3. 一系列ASP.NET服務(wù)器端控件,提供了文件上傳功能所需的UI,包括一個多文件上傳控件,一個ListView控件和一個進(jìn)度條控件。
4. 一個Web應(yīng)用程序,可以替換FTP的交換文件方式,支持Email發(fā)送鏈接。它也是上面所提到的組件的使用示例。
5. 一個Windows Service,用于定期清理舊文件。
6. 一個測試項目、一個部署項目、以及一個安裝項目。
7. 文檔。

回到NeatUpload組件。說實話,我始終不喜歡這種進(jìn)度獲取方式,因為我覺得通過一個額外的請求對服務(wù)器進(jìn)行輪詢無疑是一個累贅。事實上,如果需要上傳大文件并且獲得上傳進(jìn)度,目前最好的方式應(yīng)該是使用RIA方式。最典型的RIA上傳方式就是利用Flash了。ActionScript 2.0中已經(jīng)存在FileReference和FileReferenceList組件以支持單文件和多文件的上傳,有了這兩個組件,上傳的各種信息已經(jīng)能夠完全在客戶端獲得,而上傳進(jìn)度也自然能夠計算出來。FileReference和FileReferenceList組件非常容易使用,就連像我這樣對Flash一竅不通的人,也能在短時間內(nèi)作出一個簡單的上傳功能。但是自從有了swfupload,世界就變得更美好了。

swfupload也是個開源組件,顧名思義是使用Flash進(jìn)行上傳。不過對于swfupload來說,F(xiàn)lash的作用主要是“控制”,而不是 “展示”,這無疑給了開發(fā)人員更大的靈活性。swfupload的實現(xiàn)方式自然是利用了FileReference和FileReferenceList 組件所提供的功能,通過Flash與JavaScript的交互能力,使得開發(fā)文件上傳功能變得非常優(yōu)雅和容易。有了swfupload,開發(fā)人員可以使用JavaScript來實現(xiàn)各種顯示方式,開發(fā)像Flicker一樣酷酷的上傳界面也不再是非常困難的事情了。

swfupload是個客戶端組件,它對于服務(wù)器端來說完全透明,也就是說,服務(wù)器端只需要使用對待普通form的方式來處理即可。例如在ASP.NET中我們可以使用Generic Handler來處理客戶端的文件上傳。如下,fileCollection變量即為客戶端Post至服務(wù)器端所有文件的集合,我們可以使用name或下標(biāo)的方式來獲得其中的HttpPostedFile對象:

  1. publicclassUploadHandler:IHttpHandler  
  2. {  
  3. publicvoidProcessRequest(HttpContextcontext)  
  4. {  
  5. HttpFileCollectionfileColllection=context.Request.Files;  
  6. ...  
  7. }  
  8.  
  9. publicboolIsReusable{...}  

既然Flash提供了文件上傳功能,Silverlight作為微軟主推的RIA技術(shù)也不會缺了這項功能。這篇文章源自Silverlight 2.0的Quick Starts,展示了如何使用Silverlight 2.0開發(fā)文件上傳的功能,感興趣的朋友可以一讀。

圍繞著ASP.NET中文件上傳這個話題也討論了不少了,還有什么沒有涉及到的嗎?個人認(rèn)為其實至少還有一個非常重要問題是沒有討論過,那就是在ASP.NET應(yīng)用程序處理文件上傳時占用ASP.NET處理線程的問題。眾所周知,ASP.NET處理請求時會用到線程池中的線程,當(dāng)線程池中的線程被用完之后沒有被處理的請求只能排隊了。因此增大ASP.NET應(yīng)用程序吞吐量的一個重要手段,就是為一些耗時的操作使用異步處理方式(事實上這一命題可以在大部分應(yīng)用中成立)。例如一個數(shù)據(jù)庫查詢操作需要3秒鐘,如果不使用異步操作,處理線程就會被阻塞,直至查詢完成。如果使用異步方式來執(zhí)行數(shù)據(jù)庫查詢,在這3秒鐘內(nèi)線程就可以用戶處理其他請求,當(dāng)異步操作結(jié)束之后,ASP.NET就會使用另一個線程來繼續(xù)處理這個請求。

上傳大文件也是一個長時間占用處理線程的工作,而且遺憾的是,這無法使用異步操作來完成(通過異步操作來釋放處理線程需要操作系統(tǒng)的支持,因此只有少量功能可以使用異步操作)。如果一個文件上傳需要3分鐘時間,那么在這3分鐘內(nèi)就會獨占一個處理線程,如果文件上傳的連接一多,就會大大影響應(yīng)用程序的性能——就像遭受了某種方式的DOS攻擊一樣。因此,即使使用了像NeatUpload和swfupload這樣的組件,也無法解決上傳連接過多造成可用線程減少的問題。要解決這個問題并不容易,以下是兩種思路(歡迎大家就此問題進(jìn)行討論):

◆擴(kuò)展IIS,使文件上傳或處理文件的過程不經(jīng)ASP.NET處理,以減少ASP.NET應(yīng)用程序線程的消耗。現(xiàn)在有了IIS 7,如果使用集成管道模式,應(yīng)該也可以使用托管代碼進(jìn)行擴(kuò)展。
◆使用額外的ASP.NET應(yīng)用程序處理文件上傳,以節(jié)省文件上傳的線程對原ASP.NET應(yīng)用程序線程的消耗。

【編輯推薦】

  1. 微軟發(fā)布ASP.NET MVC 2預(yù)覽版 多項功能更新
  2. ASP.NET服務(wù)器自定義控件安全準(zhǔn)則
  3. ASP.NET編程規(guī)范之編碼規(guī)范淺析
  4. 關(guān)于ASP.NET Session的一點認(rèn)識
  5. ASP.NET編程工具ASP.NET Web Matrix詳細(xì)介紹
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-07-21 15:02:19

ASP.NET應(yīng)用程序

2009-07-22 17:32:40

ASP.NET應(yīng)用程序

2009-07-23 13:26:21

2009-07-27 16:09:50

2009-08-05 10:16:54

部署ASP.NET應(yīng)用

2009-07-29 17:01:13

2009-07-20 16:08:04

ASP.NET應(yīng)用程序

2009-07-29 10:30:53

Web應(yīng)用程序ASP.NET

2009-07-23 14:25:03

ASP.NET 2.0

2009-07-29 17:21:10

2009-07-28 14:54:47

web.config文ASP.NET應(yīng)用程序

2009-07-29 17:20:18

應(yīng)用程序異常

2009-07-22 18:02:27

論壇應(yīng)用程序ASP.NET MVC

2009-07-27 17:46:42

WCF服務(wù)ASP.NET應(yīng)用程序

2009-07-22 18:07:55

論壇應(yīng)用程序ASP.NET MVC

2009-07-24 11:25:53

Web應(yīng)用程序工程ASP.NET MVC

2009-07-24 10:41:00

ASP.NET Web

2009-07-21 15:23:55

預(yù)編譯Web應(yīng)用程序ASP.NET

2009-07-21 15:14:32

預(yù)編譯應(yīng)用程序ASP.NET

2009-07-28 10:11:06

ASP.NET應(yīng)用程序
點贊
收藏

51CTO技術(shù)棧公眾號

成人va在线观看| 51精产品一区一区三区| 色婷婷av一区二区| 天天综合狠狠精品| www.国产三级| 久久激情视频| 操人视频在线观看欧美| 日韩www视频| 激情亚洲小说| 性做久久久久久| 亚洲欧洲精品一区二区| 亚洲欧美激情在线观看| 青青草精品视频| 久久免费视频网站| 色噜噜噜噜噜噜| 风间由美中文字幕在线看视频国产欧美| 欧美午夜精品久久久久久人妖| 日本高清不卡三区| 欧美视频在线观看一区二区三区| 日韩精品欧美成人高清一区二区| 九九热99久久久国产盗摄| 最近中文字幕免费视频| 日本在线视频一区二区三区| 色诱视频网站一区| 91免费黄视频| 91高清在线观看视频| 91老司机福利 在线| 91精品久久久久久久久青青 | 日本成人在线免费视频| 在线观看男女av免费网址| 中文一区二区完整视频在线观看| 国产精品久久7| 国产高中女学生第一次| 久久激情五月婷婷| 国产91露脸中文字幕在线| 日本一区二区网站| 综合激情视频| 成人97在线观看视频| 夫妇露脸对白88av| 精品九九在线| 亚洲片av在线| 波多野吉衣中文字幕| 久久精品国产亚洲5555| 欧美成人福利视频| 中文字幕无码毛片免费看| 亚洲日韩中文字幕一区| 欧美日韩精品二区第二页| 黄色av免费在线播放| 国模冰冰炮一区二区| 精品电影在线观看| 国产午夜伦鲁鲁| 岛国av在线网站| 黄网动漫久久久| 黄色免费视频大全| 自拍网站在线观看| 日韩人体视频一二区| 国产精品少妇在线视频| 女厕盗摄一区二区三区| 欧美视频不卡中文| 任你操这里只有精品| 久久毛片亚洲| 欧美色综合天天久久综合精品| 少妇高清精品毛片在线视频| 丝袜美腿诱惑一区二区三区| 欧美色窝79yyyycom| 色噜噜狠狠永久免费| 9999精品视频| 精品奇米国产一区二区三区| 在线观看成人动漫| 杨幂一区二区三区免费看视频| 日韩久久精品电影| 成人免费无遮挡无码黄漫视频| 国产探花在线精品一区二区| 尤物tv国产一区| 顶级黑人搡bbw搡bbbb搡| 91精品一区二区三区综合| 欧美激情一区二区三区久久久| 久久视频免费看| 国产亚洲亚洲| 国产精品美女在线| www香蕉视频| 91亚洲精品乱码久久久久久蜜桃| 日本精品一区| 成人免费看片| 狠狠色狠色综合曰曰| 在线观看免费黄网站| 视频亚洲一区二区| 亚洲欧美日韩久久久久久| 中文字幕第二区| 亚洲五月婷婷| 国产精品都在这里| 亚洲国产综合网| 久久一夜天堂av一区二区三区 | 欧美熟妇精品一区二区 | 亚洲激情一区二区| 日韩伦理在线观看| 午夜电影一区二区三区| 天堂网在线免费观看| 一区二区三区免费在线看| 亚洲美女免费精品视频在线观看| 999福利视频| 制服诱惑一区二区| 成人免费自拍视频| 日色在线视频| 一级中文字幕一区二区| 午夜视频在线瓜伦| 高清精品视频| 久久久精品美女| 手机在线看片1024| 国产不卡视频一区| 杨幂一区欧美专区| 在线手机中文字幕| 精品国产一区二区三区av性色| 免费视频91蜜桃| 亚洲精品欧洲| 亚洲mm色国产网站| 三区四区在线视频| 在线视频你懂得一区| 无码一区二区精品| 国产精品sm| 成人国产在线激情| 黄色大片在线免费观看| 婷婷综合在线观看| 韩国黄色一级片| 香港欧美日韩三级黄色一级电影网站| 清纯唯美亚洲综合| 午夜性色福利视频| 夜夜嗨av一区二区三区网页| 777一区二区| 不卡一区2区| 欧美在线亚洲一区| 青青国产在线| 天天av天天翘天天综合网| 亚洲美女高潮久久久| 天天综合网网欲色| 国产精品无码专区在线观看 | 中文字幕日韩av| 国产成人精品777777| 91在线看国产| 国产黄视频在线| 红杏视频成人| 91国产视频在线| 五月婷婷激情在线| 欧美日韩午夜剧场| 色呦呦一区二区| 亚洲神马久久| 美女视频久久| 日韩成人动漫| 中文字幕精品久久| 亚洲视频一区二区三区四区| 国产精品乱码人人做人人爱 | 成人教育av在线| 91.com在线| 老牛影视av一区二区在线观看| 国模精品视频一区二区三区| 欧美自拍偷拍第一页| 亚洲成人激情自拍| 野花社区视频在线观看| 国产精品日韩精品欧美精品| 欧美国产一区二区在线| 亚洲第一会所| 久久精品99国产精品酒店日本| 97人妻一区二区精品免费视频| 国产精品二区一区二区aⅴ污介绍| 三上悠亚在线一区二区| 中文字幕免费一区二区| 成人xxxxx色| 涩涩视频网站在线观看| 国产一区二区黑人欧美xxxx| 在线视频播放大全| 亚洲自拍欧美精品| 精品人妻一区二区三区视频| 日韩精品乱码免费| 一区中文字幕在线观看| 大伊香蕉精品在线品播放| 欧美一级电影久久| 91看片在线观看| 日韩精品一区二区三区老鸭窝| 黄色片视频网站| 国产女人18水真多18精品一级做| 日韩在线一区视频| 在线一区视频| 欧美一级免费在线观看| 国产一级成人av| 欧美亚洲在线视频| 福利视频在线| 精品在线小视频| 国产精品呻吟久久| 欧美日韩激情视频8区| 国产午夜福利一区| 成人午夜在线免费| 国产高潮免费视频| 国产精品草草| 日产国产精品精品a∨| 精品国产三级| 国产999精品| 日本资源在线| 在线观看成人黄色| 黄色三级网站在线观看| 欧美日韩色综合| 日韩av黄色片| 亚洲日穴在线视频| 高潮毛片无遮挡| 成人美女视频在线观看18| 天天综合网日韩| 国产欧美午夜| 黄色录像特级片| 成人精品中文字幕| 久久99九九| 亚洲视频一起| 国产啪精品视频| 亚洲www.| 欧美一级片久久久久久久| 亚洲性图自拍| 日韩有码视频在线| 男人天堂资源在线| 精品第一国产综合精品aⅴ| 亚洲一区二区天堂| 色狠狠综合天天综合综合| 日本特黄特色aaa大片免费| 中文字幕亚洲精品在线观看| 99久久久无码国产精品性| 成人h动漫精品一区二| 精产国品一二三区| 精品一区二区三区视频在线观看| 777米奇影视第四色| 精品动漫3d一区二区三区免费| 色中文字幕在线观看| 精品视频亚洲| 日本三级中国三级99人妇网站| 粉嫩精品导航导航| 国产91一区二区三区| 国产aⅴ精品一区二区四区| 国产精品免费视频久久久| 国产不卡网站| 日韩美女写真福利在线观看| 小早川怜子影音先锋在线观看| 久久人91精品久久久久久不卡| 最新黄网在线观看| 欧美成人午夜激情在线| 国产激情视频在线观看| 精品国产一区二区三区久久狼黑人 | 老司机精品视频在线| 能看的毛片网站| 人人超碰91尤物精品国产| 久草精品在线播放| 日韩成人一级片| 色乱码一区二区三区在线| 日本在线播放一区二区三区| 爱福利视频一区二区| 国产精品久久777777毛茸茸| av动漫在线看| 快she精品国产999| 中文字幕第36页| 麻豆精品在线视频| 天天综合天天添夜夜添狠狠添| 麻豆精品国产传媒mv男同| 国产无遮挡猛进猛出免费软件| 久久电影网电视剧免费观看| 亚欧激情乱码久久久久久久久| 久久精品国产久精国产| 一级黄色在线播放| 丁香五精品蜜臀久久久久99网站 | 亚洲涩涩av| 日产精品一线二线三线芒果| 欧美影院三区| 亚洲天堂第一区| 99精品国产在热久久| 可以在线看的黄色网址| 久久国产欧美日韩精品| 久久综合桃花网| 北岛玲一区二区三区四区| 欧美狂猛xxxxx乱大交3| 国产精品国产三级国产三级人妇 | 久久久久无码国产精品一区| 你懂的视频欧美| 亚洲最新在线| 日韩视频不卡| 在线免费观看视频黄| 国产成+人+日韩+欧美+亚洲| 国产男女猛烈无遮挡a片漫画| 欧美激情综合网| 国产真实夫妇交换视频| 日本精品视频一区二区| 国产伦理吴梦梦伦理| 亚洲第一精品久久忘忧草社区| 欧美美女搞黄| 美女999久久久精品视频| 伊人网在线播放| 91精品国产综合久久香蕉922| 国产伦精品一区二区三区免费优势 | 亚洲黄色小视频| 丰满少妇xoxoxo视频| 91精品啪在线观看国产60岁| 日本精品一二区| 色一区av在线| 午夜久久中文| 亚洲qvod图片区电影| 国产一区二区在线| 欧美国产视频一区| 精品一区二区三区欧美| 91玉足脚交白嫩脚丫| 亚洲欧美在线aaa| 黄色在线视频网址| 欧美成人一区二区三区在线观看| 国产原创av在线| 97涩涩爰在线观看亚洲| 9999精品视频| 四虎影院一区二区三区 | 亚洲一区 二区 三区| 欧美日韩在线不卡视频| 粉嫩av一区二区三区粉嫩| 亚洲色图第四色| 岛国精品视频在线播放| 国产极品久久久| 精品国产一区二区三区久久久 | 成人国产免费电影| 国产精品久久久av| 婷婷综合电影| 国产二区视频在线| 国产美女精品人人做人人爽| 少妇视频在线播放| 色伊人久久综合中文字幕| 特黄aaaaaaaaa真人毛片| 欧美麻豆久久久久久中文| 欧美日韩免费电影| 色中色综合成人| 青青草成人在线观看| 97伦伦午夜电影理伦片| 亚瑟在线精品视频| 日本免费一区视频| 欧美精品videosex性欧美| 国产精品久久久久久久久久久久久久久| 日韩欧美视频一区二区三区四区| 亚洲女同在线| 亚洲av无码国产精品久久| 午夜久久久久久久久 | 中文亚洲视频在线| 日韩av超清在线观看| 欧美日韩一区二区三区在线观看免 | 97久久国产精品| 久久久久久毛片免费看 | 免费视频最近日韩| www亚洲色图| 欧美日韩欧美一区二区| 在线观看免费高清完整| 国产日韩视频在线观看| 国产精品99一区二区三| 天天看片天天操| 亚洲欧美另类综合偷拍| 午夜精品久久久久久久99老熟妇| 久久成人国产精品| 欧洲精品99毛片免费高清观看| 精品日韩在线播放| 国v精品久久久网| 日韩精品在线免费看| 日韩成人在线播放| 日韩大片欧美大片| 亚洲欧美精品| 国产在线视视频有精品| 精品97人妻无码中文永久在线| 精品免费视频.| 日本不卡1234视频| 日韩精品一区二区三区丰满| 蜜臀av性久久久久av蜜臀妖精| 久久福利免费视频| 精品日韩在线一区| 成人欧美magnet| 一区二区不卡在线视频 午夜欧美不卡'| 麻豆成人在线观看| 免费视频网站www| 亚洲精选一区二区| 亚洲欧美专区| 日本a视频在线观看| 国产三级久久久| 国产视频第一页| 97婷婷大伊香蕉精品视频| 国产在线观看91一区二区三区| 五月激情婷婷在线| 亚洲成人av免费| 风间由美一区| 99国内精品久久久久久久软件| 国产日韩欧美一区| 美女视频久久久| 亚洲国产美女久久久久 | 国产精品一区视频| 青娱乐精品在线视频| 国产一级片免费看| 亚洲天堂视频在线观看| 欧美视频二区欧美影视| 日韩在线视频在线观看| ...中文天堂在线一区| 婷婷五月综合激情| 91久久精品日日躁夜夜躁欧美| 久久一区二区精品| 99热免费精品| 娇小11一12╳yⅹ╳毛片| 亚洲国产成人精品一区二区| 成人激情视屏| 免费看国产一级片|