午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > MongoDB.NET 2.2.4驅動版本對Mongodb3.3數據庫中GridFS增刪改查

MongoDB.NET 2.2.4驅動版本對Mongodb3.3數據庫中GridFS增刪改查

熱門標簽:杭州人工電銷機器人價格 呼和浩特電銷外呼系統加盟 廣州長安公司怎樣申請400電話 云南外呼系統 電銷機器人是什么軟件 蘋果汽車租賃店地圖標注 怎么投訴地圖標注 濟南電銷機器人加盟公司 老虎洗衣店地圖標注

本文實例為大家分享了針對Mongodb3.3數據庫中GridFS增刪改查,供大家參考,具體內容如下

Program.cs代碼如下:

internal class Program 
 { 
 private static void Main(string[] args) 
 { 
  GridFSHelper helper = new GridFSHelper("mongodb://localhost", "GridFSDemo", "Pictures"); 
 
  #region 上傳圖片 
 
  //第一種 
  //Image image = Image.FromFile("D:\\dog.jpg"); 
  //byte[] imgdata = ImageHelper.ImageToBytes(image); 
  //ObjectId oid = helper.UploadGridFSFromBytes(imgdata); 
 
  //第二種 
  //Image image = Image.FromFile("D:\\man.jpg"); 
  //Stream imgSteam = ImageHelper.ImageToStream(image); 
  //ObjectId oid = helper.UploadGridFSFromStream("man",imgSteam); 
  //LogHelper.WriteFile(oid.ToString()); 
  // Console.Write(oid.ToString()); 
 
  #endregion 
 
  #region 下載圖片 
 
  //第一種 
  //ObjectId downId = new ObjectId("578e2d17d22aed1850c7855d"); 
  //byte[] Downdata= helper.DownloadAsByteArray(downId); 
  //string name= ImageHelper.CreateImageFromBytes("coolcar",Downdata); 
 
  //第二種 
  // byte[] Downdata = helper.DownloadAsBytesByName("QQQ"); 
  //string name = ImageHelper.CreateImageFromBytes("dog", Downdata); 
 
  //第三種 
  //byte[] Downdata = helper.DownloadAsBytesByName("QQQ"); 
  //Image img = ImageHelper.BytesToImage(Downdata); 
  //string path = Path.GetFullPath(@"../../DownLoadImg/") + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".jpg"; 
  ////使用path獲取當前應用程序集的執行目錄的上級的上級目錄 
  //img.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg); 
 
  #endregion 
 
  #region 查找圖片 
  GridFSFileInfo gridFsFileInfo = helper.FindFiles("man"); 
  Console.WriteLine(gridFsFileInfo.Id); 
  #endregion 
 
  #region 刪除圖片 
  //helper.DroppGridFSBucket(); 
  #endregion 
 
  Console.ReadKey(); 
 } 
 } 

GridFSHelper.cs的代碼如下:

using System; 
using System.Collections.Generic; 
using System.Configuration; 
using System.IO; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using MongoDB.Bson; 
using MongoDB.Driver; 
using MongoDB.Driver.GridFS; 
 
namespace MongoDemo 
{ 
 public class GridFSHelper 
 { 
 private readonly IMongoClient client; 
 private readonly IMongoDatabase database; 
 private readonly IMongoCollectionBsonDocument> collection; 
 private readonly GridFSBucket bucket; 
 private GridFSFileInfo fileInfo; 
 private ObjectId oid; 
 
 public GridFSHelper() 
  : this( 
  ConfigurationManager.AppSettings["mongoQueueUrl"], ConfigurationManager.AppSettings["mongoQueueDb"], 
  ConfigurationManager.AppSettings["mongoQueueCollection"]) 
 { 
 } 
 
 public GridFSHelper(string url, string db, string collectionName) 
 { 
  if (url == null) 
  { 
  throw new ArgumentNullException("url"); 
  } 
  else 
  { 
  client = new MongoClient(url); 
  } 
 
  if (db == null) 
  { 
  throw new ArgumentNullException("db"); 
  } 
  else 
  { 
  database = client.GetDatabase(db); 
  } 
 
  if (collectionName == null) 
  { 
  throw new ArgumentNullException("collectionName"); 
  } 
  else 
  { 
  collection = database.GetCollectionBsonDocument>(collectionName); 
  } 
 
  //this.collection = new MongoClient(url).GetDatabase(db).GetCollectionBsonDocument>(collectionName); 
 
  GridFSBucketOptions gfbOptions = new GridFSBucketOptions() 
  { 
  BucketName = "bird", 
  ChunkSizeBytes = 1*1024*1024, 
  ReadConcern = null, 
  ReadPreference = null, 
  WriteConcern = null 
  }; 
  var bucket = new GridFSBucket(database, new GridFSBucketOptions 
  { 
  BucketName = "videos", 
  ChunkSizeBytes = 1048576, // 1MB 
  WriteConcern = WriteConcern.WMajority, 
  ReadPreference = ReadPreference.Secondary 
  }); 
  this.bucket = new GridFSBucket(database, null); 
 } 
 
 public GridFSHelper(IMongoCollectionBsonDocument> collection) 
 { 
  if (collection == null) 
  { 
  throw new ArgumentNullException("collection"); 
  } 
  this.collection = collection; 
  this.bucket = new GridFSBucket(collection.Database); 
 } 
 
 
 public ObjectId UploadGridFSFromBytes(string filename, Byte[] source) 
 { 
  oid = bucket.UploadFromBytes(filename, source); 
  return oid; 
 } 
 
 public ObjectId UploadGridFSFromStream(string filename,Stream source) 
 { 
  using (source) 
  { 
  oid = bucket.UploadFromStream(filename, source); 
  return oid; 
  } 
 } 
 
 public Byte[] DownloadAsByteArray(ObjectId id) 
 { 
  Byte[] bytes = bucket.DownloadAsBytes(id); 
  return bytes; 
 } 
 
 public Stream DownloadToStream(ObjectId id) 
 { 
  Stream destination = new MemoryStream(); 
  bucket.DownloadToStream(id, destination); 
  return destination; 
 } 
 
 public Byte[] DownloadAsBytesByName(string filename) 
 { 
  Byte[] bytes = bucket.DownloadAsBytesByName(filename); 
  return bytes; 
 } 
 
 public Stream DownloadToStreamByName(string filename) 
 { 
  Stream destination = new MemoryStream(); 
  bucket.DownloadToStreamByName(filename, destination); 
  return destination; 
 } 
 
 public GridFSFileInfo FindFiles(string filename) 
 { 
  var filter = BuildersGridFSFileInfo>.Filter.And( 
  BuildersGridFSFileInfo>.Filter.Eq(x => x.Filename, "man"), 
  BuildersGridFSFileInfo>.Filter.Gte(x => x.UploadDateTime, new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc)), 
  BuildersGridFSFileInfo>.Filter.Lt(x => x.UploadDateTime, new DateTime(2017, 2, 1, 0, 0, 0, DateTimeKind.Utc))); 
  var sort = BuildersGridFSFileInfo>.Sort.Descending(x => x.UploadDateTime); 
  var options = new GridFSFindOptions 
  { 
  Limit = 1, 
  Sort = sort 
  }; 
  using (var cursor = bucket.Find(filter, options)) 
  { 
   fileInfo = cursor.ToList().FirstOrDefault(); 
  } 
  return fileInfo; 
 } 
 
 
 public void DeleteAndRename(ObjectId id) 
 { 
  bucket.Delete(id); 
 } 
 
 //The “fs.files” collection will be dropped first, followed by the “fs.chunks” collection. This is the fastest way to delete all files stored in a GridFS bucket at once. 
 public void DroppGridFSBucket() 
 { 
  bucket.Drop(); 
 } 
 
 public void RenameAsingleFile(ObjectId id,string newFilename) 
 { 
  bucket.Rename(id, newFilename); 
 } 
 
 public void RenameAllRevisionsOfAfile(string oldFilename,string newFilename) 
 { 
  var filter = BuildersGridFSFileInfo>.Filter.Eq(x => x.Filename, oldFilename); 
  var filesCursor = bucket.Find(filter); 
  var files = filesCursor.ToList(); 
  foreach (var file in files) 
  { 
  bucket.Rename(file.Id, newFilename); 
  } 
 } 
 
 } 
} 

ImageHelper.cs的代碼如下:

using System; 
using System.Collections.Generic; 
using System.Drawing; 
using System.Drawing.Imaging; 
using System.IO; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace MongoDemo 
{ 
 public static class ImageHelper 
 { 
 /// summary> 
 /// //將Image轉換成流數據,并保存為byte[] 
 /// /summary> 
 /// param name="image">/param> 
 /// returns>/returns> 
 public static byte[] ImageToBytes(Image image) 
 { 
  ImageFormat format = image.RawFormat; 
  using (MemoryStream ms = new MemoryStream()) 
  { 
  if (format.Equals(ImageFormat.Jpeg)) 
  { 
   image.Save(ms, ImageFormat.Jpeg); 
  } 
  else if (format.Equals(ImageFormat.Png)) 
  { 
   image.Save(ms, ImageFormat.Png); 
  } 
  else if (format.Equals(ImageFormat.Bmp)) 
  { 
   image.Save(ms, ImageFormat.Bmp); 
  } 
  else if (format.Equals(ImageFormat.Gif)) 
  { 
   image.Save(ms, ImageFormat.Gif); 
  } 
  else if (format.Equals(ImageFormat.Icon)) 
  { 
   image.Save(ms, ImageFormat.Icon); 
  } 
  byte[] buffer = new byte[ms.Length]; 
  //Image.Save()會改變MemoryStream的Position,需要重新Seek到Begin 
  ms.Seek(0, SeekOrigin.Begin); 
  ms.Read(buffer, 0, buffer.Length); 
  return buffer; 
  } 
 } 
 
 
 public static Stream ImageToStream(Image image) 
 { 
  ImageFormat format = image.RawFormat; 
  MemoryStream ms = new MemoryStream(); 
 
  if (format.Equals(ImageFormat.Jpeg)) 
  { 
  image.Save(ms, ImageFormat.Jpeg); 
  } 
  else if (format.Equals(ImageFormat.Png)) 
  { 
  image.Save(ms, ImageFormat.Png); 
  } 
  else if (format.Equals(ImageFormat.Bmp)) 
  { 
  image.Save(ms, ImageFormat.Bmp); 
  } 
  else if (format.Equals(ImageFormat.Gif)) 
  { 
  image.Save(ms, ImageFormat.Gif); 
  } 
  else if (format.Equals(ImageFormat.Icon)) 
  { 
  image.Save(ms, ImageFormat.Icon); 
  } 
  return ms; 
 } 
 
 //參數是圖片的路徑 
 public static byte[] GetPictureData(string imagePath) 
 { 
  FileStream fs = new FileStream(imagePath, FileMode.Open); 
  byte[] byteData = new byte[fs.Length]; 
  fs.Read(byteData, 0, byteData.Length); 
  fs.Close(); 
  return byteData; 
 } 
 
 
 
 /// summary> 
 /// Convert Byte[] to Image 
 /// /summary> 
 /// param name="buffer">/param> 
 /// returns>/returns> 
 public static Image BytesToImage(byte[] buffer) 
 { 
  MemoryStream ms = new MemoryStream(buffer); 
  Image image = System.Drawing.Image.FromStream(ms); 
  return image; 
 } 
 
 /// summary> 
 /// Convert Byte[] to a picture and Store it in file 
 /// /summary> 
 /// param name="fileName">/param> 
 /// param name="buffer">/param> 
 /// returns>/returns> 
 public static string CreateImageFromBytes(string fileName, byte[] buffer) 
 { 
  string file = fileName; 
  Image image = BytesToImage(buffer); 
  ImageFormat format = image.RawFormat; 
  if (format.Equals(ImageFormat.Jpeg)) 
  { 
  file += ".jpg"; 
  } 
  else if (format.Equals(ImageFormat.Png)) 
  { 
  file += ".png"; 
  } 
  else if (format.Equals(ImageFormat.Bmp)) 
  { 
  file += ".bmp"; 
  } 
  else if (format.Equals(ImageFormat.Gif)) 
  { 
  file += ".gif"; 
  } 
  else if (format.Equals(ImageFormat.Icon)) 
  { 
  file += ".icon"; 
  } 
  System.IO.FileInfo info = new System.IO.FileInfo(Path.GetFullPath(@"DownLoadImg\")); //在當前程序集目錄中添加指定目錄DownLoadImg 
  System.IO.Directory.CreateDirectory(info.FullName); 
  File.WriteAllBytes(info+file, buffer); 
  return file; 
 } 
 } 
} 

LogHelper.cs代碼如下:

/// summary> 
 /// 手動記錄錯誤日志,不用Log4Net組件 
 /// /summary> 
 public class LogHelper 
 { 
 /// summary> 
 /// 將日志寫入指定的文件 
 /// /summary> 
 /// param name="Path">文件路徑,如果沒有該文件,剛創建/param> 
 /// param name="content">日志內容/param> 
 public static void WriteFile(string content) 
 { 
  string Path = AppDomain.CurrentDomain.BaseDirectory + "Log"; 
  if (!Directory.Exists(Path)) 
  { 
  //若文件目錄不存在 則創建 
  Directory.CreateDirectory(Path); 
  } 
  Path += "\\" + DateTime.Now.ToString("yyMMdd") + ".log"; 
  if (!File.Exists(Path)) 
  { 
  File.Create(Path).Close(); 
  } 
  StreamWriter writer = new StreamWriter(Path, true, Encoding.GetEncoding("gb2312")); 
  writer.WriteLine("時間:" + DateTime.Now.ToString()); 
  writer.WriteLine("日志信息:" + content); 
  writer.WriteLine("-----------------------------------------------------------"); 
  writer.Close(); 
  writer.Dispose(); 
 } 
 
 /// summary> 
 /// 將日志寫入指定的文件 
 /// /summary> 
 /// param name="Path">文件路徑,如果沒有該文件,剛創建/param> 
 /// param name="content">日志內容/param> 
 public static void WriteFile(int content) 
 { 
  string Path = AppDomain.CurrentDomain.BaseDirectory + "Log"; 
  if (!Directory.Exists(Path)) 
  { 
  //若文件目錄不存在 則創建 
  Directory.CreateDirectory(Path); 
  } 
  Path += "\\" + DateTime.Now.ToString("yyMMdd") + ".log"; 
  if (!File.Exists(Path)) 
  { 
  File.Create(Path).Close(); 
  } 
  StreamWriter writer = new StreamWriter(Path, true, Encoding.GetEncoding("gb2312")); 
  writer.WriteLine("時間:" + DateTime.Now.ToString()); 
  writer.WriteLine("日志信息:" + content); 
  writer.WriteLine("-----------------------------------------------------------"); 
  writer.Close(); 
  writer.Dispose(); 
 } 
 
 
 /// summary> 
 /// 將日志寫入指定的文件 
 /// /summary> 
 /// param name="erroMsg">錯誤詳細信息/param> 
 /// param name="source">源位置/param> 
 /// param name="fileName">文件名/param> 
 public static void WriteFile(string erroMsg, string source, string stackTrace, string fileName) 
 { 
  string Path = AppDomain.CurrentDomain.BaseDirectory + "Log"; 
  if (!Directory.Exists(Path)) 
  { 
  //若文件目錄不存在 則創建 
  Directory.CreateDirectory(Path); 
  } 
  Path += "\\" + DateTime.Now.ToString("yyMMdd") + ".log"; 
  if (!File.Exists(Path)) 
  { 
  File.Create(Path).Close(); 
  } 
  StreamWriter writer = new StreamWriter(Path, true, Encoding.GetEncoding("gb2312")); 
  writer.WriteLine("時間:" + DateTime.Now.ToString()); 
  writer.WriteLine("文件:" + fileName); 
  writer.WriteLine("源:" + source); 
  writer.WriteLine("錯誤信息:" + erroMsg); 
  writer.WriteLine("-----------------------------------------------------------"); 
  writer.Close(); 
  writer.Dispose(); 
 } 
 } 

結果如下:

Mongodb數據:

查找圖片:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • MongoDB服務端JavaScript腳本使用方法
  • mongoDB中CRUD的深入講解
  • Mongo DB增刪改查命令
  • mongodb+php實現簡單的增刪改查
  • PHP簡單操作MongoDB的方法(安裝及增刪改查)
  • mongodb增刪改查詳解_動力節點Java學院整理
  • MongoDB簡單操作示例【連接、增刪改查等】
  • koa+mongoose實現簡單增刪改查接口的示例代碼
  • Node.js對MongoDB進行增刪改查操作的實例代碼
  • java連接Mongodb實現增刪改查
  • MongoDB的基本操作實例詳解【服務端啟動,客戶端連接,CRUD操作】

標簽:雞西 廈門 遼陽 興安盟 無錫 泰安 玉林 自貢

巨人網絡通訊聲明:本文標題《MongoDB.NET 2.2.4驅動版本對Mongodb3.3數據庫中GridFS增刪改查》,本文關鍵詞  MongoDB.NET,2.2.4,驅動,版本,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MongoDB.NET 2.2.4驅動版本對Mongodb3.3數據庫中GridFS增刪改查》相關的同類信息!
  • 本頁收集關于MongoDB.NET 2.2.4驅動版本對Mongodb3.3數據庫中GridFS增刪改查的相關信息資訊供網民參考!
  • 推薦文章
    欧美伊人久久久久久久久影院| 国产成a人亚洲精v品无码| 奇米777在线视频| 欧美日韩黄色一级片| 最新欧美日韩亚洲| 成人免费在线网址| 91av视频在线免费观看| 亚洲品质视频自拍网| 正在播放一区二区| 欧美色播在线播放| 中文字幕乱码久久午夜不卡| 午夜福利一区二区三区| 9i精品福利一区二区三区| 亚洲精品一区二区三区影院忠贞| 日韩欧美理论片| 国产喷水theporn| 熟女少妇精品一区二区| 国产亚洲精品网站| 九九爱精品视频| 97人人香蕉| 人人爽久久涩噜噜噜网站| 日韩区在线观看| 婷婷久久综合九色综合绿巨人| 久久国产精品色婷婷| 午夜一区二区三区四区| 免费在线观看黄色小视频| 波多野结衣视频播放| 91人人澡人人爽人人精品| 超薄肉色丝袜足j调教99| 欧美日韩精品免费在线观看视频| 成人日韩在线电影| 国产不卡av在线| www.久久撸.com| 国产精品视频麻豆| 久久久国际精品| 成人精品免费视频| 国产最新精品免费| 美女www一区二区| 亚州男人的天堂| 丰满熟妇乱又伦| 天天干天天插天天射| 国产又黄又粗又爽| 日本系列第一页| 国产网址在线观看| 午夜爱爱毛片xxxx视频免费看| 久久久精品成人| 中国一级特黄录像播放| 熟妇高潮一区二区| 亚洲国产精品自拍视频| 中文在线一区二区三区| 国产又粗又长又爽又黄的视频| 污污视频网站在线| 中文字幕人妻熟女人妻a片| 国产精品999.| 97人人模人人爽人人澡| 亚洲色偷偷色噜噜狠狠99网| 亚洲av片不卡无码久久| 影音先锋人妻啪啪av资源网站| 巨胸大乳www视频免费观看| 国产精品99久久久精品无码| 手机在线免费毛片| 在线观看福利片| 婷婷在线精品视频| 91av国产精品| 日韩精品一二三| 成人aaaa免费全部观看| 菠萝蜜视频在线观看一区| 国产欧美精品一区二区三区四区 | www..com日韩| 国产精品视频分类| 怡红院亚洲色图| 熟女俱乐部一区二区| 国产成人精品a视频一区| 国产理论视频在线观看| 久久99国内精品| 国产精品青草久久| 在线影视一区二区三区| 亚洲美女在线视频| 久久久国产成人精品| 成人精品福利视频| 一卡二卡3卡四卡高清精品视频| 国产69精品久久久久久久| 国产亚洲精品成人a| 欧美精品成人久久| av天堂一区二区三区| 成人小视频在线| 午夜精品福利一区二区蜜股av| 欧美一区二区视频在线观看| 亚洲乱码一区av黑人高潮| 欧美性做爰毛片| 新呦u视频一区二区| 伊人色在线视频| 日韩免费不卡视频| 蜜臀av在线观看| 国产精品狼人久久影院观看方式| 91精品国产免费| 136fldh精品导航福利| 日韩精品欧美一区二区三区| 黄色动漫网站入口| 欧美国产日韩在线观看成人| 亚洲欧洲综合在线| 国产欧美日产一区| 亚洲国产成人精品电影| 国产日韩欧美在线看| 国产精品亚洲αv天堂无码| 亚洲高潮女人毛茸茸| 在线观看一二三区| 国产亚洲人成网站| 欧美成人精品1314www| 欧美最近摘花xxxx摘花| 欧美伦理一区二区| 亚洲av成人片无码| 国产精品久久久久久久免费 | 91精彩刺激对白露脸偷拍| 99草在线视频| 中文字幕av在线一区二区三区| 91福利精品第一导航| 久久精品国产亚洲精品| 一区二区三区在线视频看| 国产av一区二区三区传媒| 国产嫩bbwbbw高潮| 成人毛片在线观看| 欧美精品一区二区三区蜜桃视频 | 91精品国产综合久久久久久 | 中文字幕在线视频一区二区| 亚洲系列第一页| 亚洲欧美日本韩国| 中文字幕精品一区二区精品| 国产精品免费观看高清| 91视频在线免费| 国产麻豆一精品一男同| 亚洲在线观看免费视频| 韩国美女主播一区| 激情深爱综合网| 亚洲大尺度在线观看| 久久久精品免费观看| 日韩电影免费在线观看中文字幕| 日韩欧美精品一区二区三区经典| 任你操精品视频| 99re成人在线| 一区二区欧美在线| 国产一级黄色录像片| 久久精品五月天| 最近日韩中文字幕| 国产精品扒开腿做爽爽爽男男 | 国产人妖在线播放| 欧美性一二三区| 国产免费一区二区| 一级黄色录像视频| 97精品人妻一区二区三区香蕉| 欧美性xxxx在线播放| 成人资源av| 扒开jk护士狂揉免费| 不卡高清视频专区| 另类专区欧美制服同性| 久久撸在线视频| 美女视频免费一区| 中文字幕成人精品久久不卡| 无码人妻h动漫| 97人妻精品一区二区三区软件| 欧美猛男gaygay网站| 正在播放91九色| 亚洲综合网av| 精品福利一二区| 日韩精品一区二区三区色欲av| 日韩黄色免费观看| 亚洲国产一区二区三区青草影视| 久热这里只精品99re8久 | 日韩亚洲欧美在线| 无码日韩人妻精品久久蜜桃| 国产一区二区三区精品欧美日韩一区二区三区| 久久精品免费电影| 强伦人妻一区二区三区| 亚洲精品老司机| 中文字幕精品—区二区日日骚| 免费a级片在线观看| 精品国产百合女同互慰| 日本三级黄色网址| 久久青草欧美一区二区三区| 成人h猎奇视频网站| 艳妇乳肉豪妇荡乳av无码福利| 亚洲欧美色图片| 四季av一区二区| 三级不卡在线观看| 日韩美女视频中文字幕| 国产大片aaa| 日韩精品一二三四区| 北岛玲一区二区| 色吊一区二区三区| 18岁网站在线观看| 2024国产精品| 欧洲成人一区二区| 日韩高清不卡在线| 国产精品色悠悠| www.久久成人| 国产成人在线精品| 91免费视频播放| 午夜精品在线视频| 最近国语视频在线观看免费播放| 日日噜噜噜夜夜爽亚洲精品| 中文字幕在线观看2018| 日韩亚洲欧美高清| 泷泽萝拉在线播放| 6080午夜不卡| 麻豆精品国产传媒av| 欧美私人免费视频| 免费看黄色aaaaaa 片| 精品国产免费人成在线观看| 亚洲激情图片网| 亚洲色图13p| 日本免费精品视频| 欧美中文在线观看国产| 日韩成人一区二区三区| 97av在线视频免费播放| 一区二区三区四区五区| 亚洲精品一区二区三区福利| 奇米视频888| 亚洲男女毛片无遮挡| 成年人视频观看| 久久久久久一二三区| 欧美三级华人主播| 粉嫩av一区二区三区粉嫩| 精品无码久久久久国产| 精品系列免费在线观看| 久久天堂国产精品| 国产99久久精品| 激情欧美一区二区三区中文字幕| 国产在线看一区| 色一情一乱一伦一区二区三区| 波波电影院一区二区三区| 黄色网zhan| 亚洲欧美aⅴ...| www.桃色.com| 午夜精品成人在线视频| 日本一级片在线播放| 91精品国产综合久久精品app| 久久成人激情视频| 神马久久久久久| 91丨porny丨在线中文 | 天堂√在线观看一区二区| 国产日本欧洲亚洲| 女人另类性混交zo| 欧美日韩免费观看一区三区| www成人啪啪18软件| 久久国产精品影视| 理论片中文字幕| 成人动漫在线观看视频| 久久久夜色精品亚洲| 91免费国产精品| 亚洲夂夂婷婷色拍ww47| 亚洲久久久久久久| 欧美成人激情在线| 国产高潮在线观看| 日本一区视频在线观看| 伊人夜夜躁av伊人久久| 国产精品亚洲无码| 久久91精品国产91久久跳| 日韩精品高清不卡| 成年人午夜免费视频| 欧美性极品xxxx做受| 黄色片子在线观看| 国产国语刺激对白av不卡| 久久精品国语| 男人日女人bb视频| 亚洲成年人在线| 成人高潮片免费视频| 亚洲永久激情精品| 51精品国自产在线| 中国一级特黄视频| 秋霞久久久久久一区二区| 欧美日韩激情小视频| 免费在线观看黄视频| 欧美日韩日本视频| 久久久黄色大片| 婷婷五月色综合| 婷婷综合五月天| 日产精品久久久| 国产欧美一区二区视频| 午夜精品久久久久久久蜜桃app| 麻豆亚洲av成人无码久久精品| 成人福利免费观看| 久久九九久精品国产免费直播| 成人免费网站黄| 国产精品白丝jk喷水视频一区| 亚洲欧美怡红院| 久久精品美女视频| 99精品国产一区二区| 色婷婷亚洲综合| 9i精品福利一区二区三区| 91xxx视频| 精品粉嫩超白一线天av| 美女网站一区二区| 国产伦精品一区二区三区88av| 日本韩国在线不卡| 亚洲男人的天堂一区二区| 探花视频在线观看| 亚洲乱码一区二区三区 | 久久99精品视频| 国产精品久久不卡| 国产日本欧美一区二区三区| 国产欧美一区二区三区在线看蜜臀 | 亚洲日本aⅴ片在线观看香蕉| 久久婷婷av| 爱情岛论坛亚洲自拍| 国产精品自产拍在线观看中文| 精品国产999| 亚洲AV无码乱码国产精品牛牛| 国产日韩欧美久久| 国产精品视频中文字幕91| 91久久国产最好的精华液| 老熟妇高潮一区二区高清视频| 韩国三级与黑人| 成人蜜桃视频| 91精品黄色片免费大全| 国产在线精品一区二区不卡了| 能免费看av的网站| 欧美日韩一区二区三区免费| 91精品国产91久久综合桃花| 久久99久久99精品免视看婷婷| 成人信息集中地| 男人日女人的bb| 一区二区欧美亚洲| 久久精品夜色噜噜亚洲a∨| 麻豆国产尤物av尤物在线观看| 亚洲国产精品无码观看久久| 久久夜色精品国产| 亚洲精品国产成人久久av盗摄| 亚洲国产一二三区| 黄瓜视频污在线观看| 最新精品视频| 97视频免费看| 欧美一区二区久久| 久久久精品中文字幕麻豆发布| 男女男精品视频站| 国产女主播一区二区| 精品国产拍在线观看| 欧美日韩另类视频| 韩国一区二区三区| 亚洲精品视频在线观看免费视频| 日本熟妇人妻中出| 激情伦成人综合小说| 欧美wwwxxxx| 欧美视频免费在线| 成人综合婷婷国产精品久久蜜臀| 国产又大又黄又粗| 亚洲一级免费观看| 天堂一区二区三区| 奇门遁甲1982国语版免费观看高清| 欧美喷潮久久久xxxxx| 中文字幕第一页久久| 国产 欧美 自拍| 欧美日韩一级在线观看| 中文字幕日韩久久| 中文字幕日韩精品无码内射| 亚洲mm色国产网站| 亚洲图片在线综合| 欧洲色大大久久| 成人av资源站| 蜜桃av中文字幕| 欧美特黄aaaaaa| 性欧美丰满熟妇xxxx性久久久| 国产免费黄视频| 色一情一区二区三区四区| 国产欧美日韩高清| 国产亚洲精品美女久久久| 午夜电影久久久| 久久久久久久久久久电影| 日韩av在线播放中文字幕| 中文字幕日本视频| 色老板免费视频| 男人的天堂影院| 美女在线视频一区二区| 国产精品一色哟哟| 日韩欧美在线电影| www.久久久| 91在线视频一区| 国产精品第三页| 555www成人网| 亚洲香蕉成人av网站在线观看| 精品福利视频一区二区三区| 欧美午夜精品电影| 中文字幕在线不卡国产视频| 91美女福利视频| 国产成a人亚洲精| 国产在线视频一区二区三区| 青青青伊人色综合久久| 婷婷五月综合激情| 久久在线91| 国产极品999| 亚洲av无码片一区二区三区| 九九热国产视频| 男女视频免费看| 日韩成人免费在线观看| 免费一级全黄少妇性色生活片| 中文字幕av免费在线观看| 欧美偷拍第一页| 精品少妇一二三区| 日韩 欧美 中文| 午夜精品一区二| 中文字幕人妻一区二区三区视频| 自拍偷拍精品视频| 亚洲成人一级片| 老司机精品视频网站| 久久99精品久久久久| 国产一区二区三区在线观看免费视频| 99在线观看免费| 91麻豆成人精品国产免费网站| 免费国产黄色片| 另类小说视频一区二区| 高潮精品一区videoshd|