久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Java 客戶端操作 FastDFS 實現文件上傳下載替換刪除功能

瀏覽:3日期:2022-08-22 16:19:22

FastDFS 的作者余慶先生已經為我們開發好了 Java 對應的 SDK。這里需要解釋一下:作者余慶并沒有及時更新最新的 Java SDK 至 Maven 中央倉庫,目前中央倉庫最新版仍舊是 1.27 版。所以我們需要通過 Github:https://github.com/happyfish100/fastdfs-client-java 下載項目源碼,再通過命令 mvn clean install 編譯打包導入 Maven 倉庫使用即可。

Java 客戶端操作 FastDFS 實現文件上傳下載替換刪除功能

接下來我們通過 Java API 操作 FastDFS 實現文件的上傳、下載、替換、刪除、查詢元數據、查詢詳情等功能。

文中案例已同步至:

Github:https://github.com/imrhelloworld/fastdfs-javaGitee:https://gitee.com/imrhelloworld/fastdfs-java

創建項目

Java 客戶端操作 FastDFS 實現文件上傳下載替換刪除功能

Java 客戶端操作 FastDFS 實現文件上傳下載替換刪除功能

添加依賴

在項目的 pom.xml 中添加以下依賴。因為我們需要一些常用工具包和單元測試,所以需要引入它們。

<!-- fastdfs java client --><dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.29-SNAPSHOT</version></dependency><!-- apache commons lang3 工具包 --><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.11</version></dependency><!-- junit 單元測試 --><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope></dependency>

編寫配置文件

fdfs_client.conf

# 超時時間connect_timeout = 10network_timeout = 30# 編碼字符集charset = UTF-8# tracker 服務器 HTTP 協議下暴露的端口http.tracker_http_port = 8080# tracker 服務器的 IP 和端口tracker_server = 192.168.10.101:22122

工具類

package org.example.client;import org.apache.commons.lang3.StringUtils;import org.csource.common.MyException;import org.csource.common.NameValuePair;import org.csource.fastdfs.*;import java.io.*;/** * FastDFS 分布式文件系統 Java 客戶端工具類 * 具體功能:文件上傳、下載、替換、刪除、查詢文件元數據、查看文件詳情 */public class FastDFSClient { // 獲取配置文件地址 private static final String CONF_FILENAME = Thread.currentThread() .getContextClassLoader().getResource('').getPath() + 'fdfs_client.conf'; // Storage 存儲服務器客戶端 private static StorageClient storageClient = null; static { try { // 加載配置文件 ClientGlobal.init(CONF_FILENAME); // 初始化 Tracker 客戶端 TrackerClient trackerClient = new TrackerClient(ClientGlobal.g_tracker_group); // 初始化 Tracker 服務端 TrackerServer trackerServer = trackerClient.getTrackerServer(); // 初始化 Storage 服務端 StorageServer storageServer = trackerClient.getStoreStorage(trackerServer); // 初始化 Storage 客戶端 storageClient = new StorageClient(trackerServer, storageServer); } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); } } /** * 文件上傳 * * @param inputStream 上傳的文件的字節輸入流 * @param fileName 上傳的文件的原始名 * @return */ public static String[] uploadFile(InputStream inputStream, String fileName) { try { // 準備字節數組 byte[] fileBuff = null; // 文件元數據 NameValuePair[] metaList = null; if (inputStream != null) { // 查看文件的長度 int len = inputStream.available(); // 初始化元數據數組 metaList = new NameValuePair[2]; // 第一組元數據,文件的原始名稱 metaList[0] = new NameValuePair('file_name', fileName); // 第二組元數據,文件的長度 metaList[1] = new NameValuePair('file_length', String.valueOf(len)); // 創建對應長度的字節數組 fileBuff = new byte[len]; // 將輸入流中的字節內容,讀到字節數組中 inputStream.read(fileBuff); } /* 上傳文件。 參數含義:要上傳的文件的內容(使用字節數組傳遞),上傳的文件的類型(擴展名),元數據 */ String[] fileids = storageClient.upload_file(fileBuff, getFileExt(fileName), metaList); return fileids; } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); } return null; } /** * 文件上傳 * * @param file 上傳的文件 * @param fileName 上傳的文件的原始名 * @return */ public static String[] uploadFile(File file, String fileName) { try (FileInputStream fis = new FileInputStream(file)) { return uploadFile(fis, fileName); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * 獲取文件后綴名(不帶點) * * @param fileName * @return 如:'jpg' or '' */ private static String getFileExt(String fileName) { if (StringUtils.isBlank(fileName) || !fileName.contains('.')) { return ''; } return fileName.substring(fileName.lastIndexOf('.') + 1); // 不帶最后的點 } /** * 獲取文件詳情 * * @param groupName 組/卷名,默認值:group1 * @param remoteFileName 文件名,例如:'M00/00/00/wKgKZl9tkTCAJAanAADhaCZ_RF0495.jpg' * @return 文件詳情 */ public static FileInfo getFileInfo(String groupName, String remoteFileName) { try { return storageClient.get_file_info(groupName == null ? 'group1' : groupName, remoteFileName); } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); } return null; } /** * 獲取元數據 * * @param groupName 組/卷名,默認值:group1 * @param remoteFileName 文件名,例如:'M00/00/00/wKgKZl9tkTCAJAanAADhaCZ_RF0495.jpg' * @return 文件的元數據數組 */ public static NameValuePair[] getMetaData(String groupName, String remoteFileName) { try { // 根據組名和文件名通過 Storage 客戶端獲取文件的元數據數組 return storageClient.get_metadata(groupName == null ? 'group1' : groupName, remoteFileName); } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); } return null; } /** * 文件下載 * * @param groupName 組/卷名,默認值:group1 * @param remoteFileName 文件名,例如:'M00/00/00/wKgKZl9tkTCAJAanAADhaCZ_RF0495.jpg' * @return 文件的字節輸入流 */ public static InputStream downloadFile(String groupName, String remoteFileName) { try { // 根據組名和文件名通過 Storage 客戶端獲取文件的字節數組 byte[] bytes = storageClient.download_file(groupName == null ? 'group1' : groupName, remoteFileName); // 返回字節流對象 InputStream inputStream = new ByteArrayInputStream(bytes); return inputStream; } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); } return null; } /** * 文件刪除 * * @param groupName 組/卷名,默認值:group1 * @param remoteFileName 文件名,例如:'M00/00/00/wKgKZl9tkTCAJAanAADhaCZ_RF0495.jpg' * @return 0為成功,非0為失敗 */ public static int deleteFile(String groupName, String remoteFileName) { int result = -1; try { // 根據組名和文件名通過 Storage 客戶端刪除文件 result = storageClient.delete_file(groupName == null ? 'group1' : groupName, remoteFileName); } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); } return result; } /** * 修改一個已經存在的文件 * * @param oldGroupName 舊組名 * @param oldFileName 舊文件名 * @param file 新文件 * @param fileName 新文件名 * @return */ public static String[] modifyFile(String oldGroupName, String oldFileName, File file, String fileName) { // 先上傳 String[] fileids = uploadFile(file, fileName); if (fileids == null) { return null; } // 再刪除 int delResult = deleteFile(oldGroupName, oldFileName); if (delResult != 0) { return null; } return fileids; }}

測試

文件上傳

// 文件上傳@Testpublic void testUploadFile() { String[] fileids = FastDFSClient.uploadFile(new File('D:/china.jpg'), 'china.jpg'); for (String fileid : fileids) { System.out.println('fileid = ' + fileid); }}

返回值

fileid = group1fileid = M00/00/00/wKgKZl9xMdiAcOLdAADhaCZ_RF0096.jpg

文件詳情

// 查看文件詳情@Testpublic void testGetFileInfo() { FileInfo fileInfo = FastDFSClient.getFileInfo('group1', 'M00/00/00/wKgKZl9xMdiAcOLdAADhaCZ_RF0096.jpg'); System.out.println('fileInfo = ' + fileInfo);}

返回值:

fileInfo = fetch_from_server = false, file_type = 1, source_ip_addr = 192.168.10.102, file_size = 57704, create_timestamp = 2020-09-28 08:44:08, crc32 = 645874781

文件元數據

// 獲取文件數據@Testpublic void testGetMetaData() { NameValuePair[] metaDatas = FastDFSClient.getMetaData('group1', 'M00/00/00/wKgKZl9xMdiAcOLdAADhaCZ_RF0096.jpg'); for (NameValuePair metaData : metaDatas) { System.out.println(metaData.getName() + '---' + metaData.getValue()); }}

返回值:

file_length---57704file_name---china.jpg

文件下載

// 文件下載@Testpublic void testDownloadFile() { InputStream is = FastDFSClient.downloadFile('group1', 'M00/00/00/wKgKZl9xMdiAcOLdAADhaCZ_RF0096.jpg'); try (FileOutputStream fos = new FileOutputStream('D:/wKgKZl9xMdiAcOLdAADhaCZ_RF0096.jpg')) { int len = 0; byte[] bytes = new byte[1024]; while ((len = is.read(bytes)) != -1) { fos.write(bytes, 0, len); fos.flush(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }}

文件刪除

// 文件刪除@Testpublic void testDeleteFile() { int result = FastDFSClient.deleteFile('group1', 'M00/00/00/wKgKZl9xMdiAcOLdAADhaCZ_RF0096.jpg'); System.out.println('result = ' + result);}

返回值:

result = 0

文件替換

// 文件替換@Testpublic void testModifyFile() { String[] fileids = FastDFSClient.modifyFile('group1', 'M00/00/00/wKgKZl9xOS2ASdu8AADhaCZ_RF0898.jpg', new File('D:/mhw.jpg'), 'mhw.jpg'); for (String fileid : fileids) { System.out.println('fileid = ' + fileid); }}

返回值:

fileid = group1fileid = M00/00/00/wKgKZl9xOeaAFO00AACmo7QBGtA298.jpg

至此 Java 客戶端操作 FastDFS 實現文件上傳下載替換刪除等操作就到這里,下一篇我們帶大家搭建 FastDFS 的集群環境,多 Tracker 多 Storage 然后通過 Nginx 代理。

到此這篇關于Java 客戶端操作 FastDFS 實現文件上傳下載替換刪除功能的文章就介紹到這了,更多相關java 文件上傳下載替換刪除內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 九色国产 | 青青草一区二区三区 | 欧美伊人影院 | 欧美黄色网络 | 中文字幕八区 | 伊人精品视频在线观看 | 天堂中文网官网 | 一级看片| 成人在线一区二区 | 国内自拍视频在线观看 | 欧洲一区二区三区 | 国产目拍亚洲精品99久久精品 | 免费午夜剧场 | 久久99久久99精品免观看粉嫩 | 天堂网色| 国产亚洲女人久久久久毛片 | 特黄视频| 国产视频一区二区 | 亚洲欧美v国产一区二区 | 国产精品欧美一区二区三区不卡 | 欧美日韩在线不卡 | 国产精品一区av | 伊人99 | 精品无人乱码一区二区三区 | 欧美一区二区三区xxxx监狱 | 欧美成人一区二区三区片免费 | 亚洲一区在线日韩在线深爱 | 久久精品久久久 | 天天操网 | 欧洲精品在线观看 | 亚洲视频在线观看免费 | 国产农村妇女精品一二区 | 欧美日本韩国一区二区 | 男人的天堂久久精品 | 欧美xxxx色视频在线观看免费 | 美国一级黄色片 | 日韩资源 | 亚洲久久久 | 91久久精品久久国产性色也91 | 国产综合精品一区二区三区 | 国产精品欧美久久久久一区二区 | 男女羞羞视频免费看 | 亚洲 欧美 日韩在线 | 一区二区在线播放视频 | 精品久久一二三区 | 91性高湖久久久久久久久网站 | 日日干日日操 | 欧美日韩美女 | 91看片网 | 欧美日韩国产一区二区三区 | 曰韩在线 | 久久久久久久久久久免费视频 | 亚洲精品久久久久久国产精华液 | 久久亚洲二区 | 久久男女 | 九九亚洲精品 | 综合久久久 | 欧美性hd| 国产毛片一区二区 | 久久久99久久久国产自输拍 | 国产精品日韩精品 | 亚州中文字幕 | 国产精品久久久久久久久久三级 | 亚洲午夜精品在线观看 | 国产精品不卡 | 欧美久久久久久久久久久久久久 | 亚洲精色| 黄色一级毛片 | 91精品国产91久久久久游泳池 | 99精品国产一区二区 | 天堂综合网久久 | 国产精品久久久久久久 | 国产在线观看一区 | 一区二区三区不卡视频 | 欧美一区二区免费 | 亚洲视频精品在线 | 一区不卡 | 日韩在线www | 成人精品一区二区三区电影黑人 | 久久久激情视频 | 正在播放国产一区 | 欧日韩免费视频 | 99国产精品久久久久久久 | 国产精品有限公司 | 伊人青青久久 | 日本三级电影天堂 | 亚洲精品一区中文字幕乱码 | 97视频精品 | 精品福利av导航 | 男人天堂视频在线观看 | 久久久久九九九九 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 精品国产一区二区在线 | 精品亚洲一区二区三区在线观看 | 成人h动漫精品一区二区器材 | 免费日韩av| 欧美成人一区二免费视频软件 | 日韩中文字幕在线免费观看 | 成人免费视频网站在线观看 | 青青草91在线视频 | 国偷自产av一区二区三区 | 久久精品国产免费 | 精品久| 成人a在线视频免费观看 | 久久黄色 | 久久久久无码国产精品一区 | 亚洲精品一区二区另类图片 | 免费爱爱视频 | 国产深夜视频在线观看 | 欧美日韩在线看 | 91精品国产综合久久福利软件 | 久久精品免费视频观看 | 日韩一二| 国产成人在线播放 | 国产精品视频一二三区 | 黄色最新网站 | 91偷拍精品一区二区三区 | 另类 综合 日韩 欧美 亚洲 | 久久黄色片 | 日韩欧美大片在线观看 | 久久视频一区二区 | 国产伦精品一区二区三区四区视频 | 亚洲高清视频网站 | 7777av| 欧美一级视频在线观看 | 黄色免费一级 | 成人免费小视频 | 欧美久久不卡 | 最新国产精品 | 国产一区二区三区免费 | 国产另类ts人妖一区二区 | 福利视频三区 | 中文字幕日韩欧美 | 又黄又爽的网站 | 精品国产乱码久久久久久1区2区 | 国产一区二区三区在线看 | 91精品国产综合久久久久久漫画 | 欧美二区视频 | 国产欧美综合一区 | 午夜私人视频 | 亚洲一区二区三区视频 | 国产欧美日韩综合精品一区二区 | 成人在线视频播放 | 日韩视频在线免费 | 欧美日在线 | 毛片福利 | 国产日韩中文字幕 | 欧美日韩国产在线 | 久久久精品免费观看 | 在线你懂得 | 一区二区三区精品 | 狠狠操狠狠操 | 成人蜜桃视频 | 久久久久99精品国产片 | 免费av电影网站 | 国产小视频在线 | 成人免费国产 | 天堂资源网 | 国产精品久久久久久婷婷天堂 | 久久久久久久国产 | 亚洲国产高清在线 | 欧美色综合一区二区三区 | 国产亚洲精品美女久久久久久久久久 | av三级在线观看 | 亚洲天堂影视 | 国产精品精品久久久 | 亚洲电影在线观看 | 视色视频在线观看 | 中文字幕免费在线 | 国产精品久久精品 | 国产精品高清一区二区 | 韩国毛片在线观看 | 亚洲97视频 | 午夜精品久久久久久久久久久久久 | 亚洲免费成人 | 亚洲v欧美| 久久久综合色 | 91精品国产综合久久久蜜臀粉嫩 | 91视频一区二区 | 色玖玖综合 | 国产黄色在线观看 | 99精品国产热久久91蜜凸 | 久久男人天堂 | 亚洲精品久久一区二区三区 | 国产福利一区二区三区视频 | 日日插日日操 | 人人草视频在线观看 | 午夜成人免费视频 | 国产精品成人一区二区三区夜夜夜 | 久久精品国产99国产精2020新增功能 | 日产欧产va高清 | 久久久国色 | 免费成人在线观看视频 | 国产精品视频专区 | 日韩一区二区成人 | 久热精品在线 | 超碰在线人人 | 久久精品久久久久电影 | 伊人av在线免费观看 | 国产成人午夜视频 | 一区二区日韩精品 | 91在线看片 | 日本一区二区不卡 | 久久九九国产精品 | 日韩欧美一区二区视频 | 最新的黄色网址 | 宅男lu666噜噜噜在线观看 | 久久69精品久久久久久久电影好 | 看全黄大色黄大片老人做 | 成人亚洲视频 | 精品国产欧美一区二区 | 成人在线视频一区二区 | 日韩欧美在线观看视频 | 欧美成人精品一区二区男人看 | 国产精品久久久久久久久久 | 国产小视频在线观看 | 香蕉久久久久久 | 91精品国产91综合久久蜜臀 | 欧美成人福利 | 中文字幕一区日韩精品欧美 | a级毛片免费高清视频 | 欧美视频在线一区 | 亚洲一在线| 91精品国产91久久久久游泳池 | 精品国产31久久久久久 | av资源中文在线天堂 | 九九热这里| 欧美精品一区二区三区中文字幕 | 日韩午夜激情视频 | 国产欧美精品一区二区三区 | 亚洲视频一区二区三区 | 亚洲女人天堂网 | 欧美视频精品在线 | 国产成人精品久久二区二区 | 亚洲成人在线视频播放 | 五月色综合| 亚洲精品国产一区 | 国产精品一区二区在线观看 | 国产精品日产欧美久久久久 | 国产在线视频一区二区 | 国产精品一区二区三区在线看 | 婷婷综合 | 日韩一区二区三区在线观看 | 国产高清免费视频 | 成人影院网站ww555久久精品 | 91在线观| 日韩激情一区二区 | 久久免费电影 | www久久久 | 国产成人免费网站 | 人人人艹| av网站免费| 国产精品午夜在线观看 | 成人国产网站 | 久久国产一区二区 | 日韩精品视频在线观看免费 | 亚洲乱码一区二区 | 999国内精品永久免费视频 | 国产一级特黄毛片在线毛片 | 国产高清自拍 | 999精品视频 | 性高湖久久久久久久久 | 宅男lu666噜噜噜在线观看 | 一区二区不卡视频 | 亚洲欧美精选 | 国产精品无码久久久久 | 超碰97免费在线 | 亚洲人人 | 中文在线一区 | 国产精品久久久久久久久免费 | 香蕉国产精品 | 中文字幕综合在线 | 国产91对白叫床清晰播放 | 伊人久久精品久久亚洲一区 | 亚洲精品一区在线观看 | 欧美第一网站 | 日韩在线中文字幕 | 精品久久久99 | 国产第一页在线播放 | 欧美a网 | 精品日韩一区二区 | www.avtt天堂网 | 亚洲高清视频一区 | 午夜艹| 中文字幕在线免费视频 | 国产不卡一二三区 | 国产一级大片 | 亚洲精品国产第一综合99久久 | 国产成人精品久久二区二区 | 91影院在线观看 | 国产日韩欧美综合 | 国产www网站 | 一级欧美 | 欧美日韩精品一区二区三区 | 国产精品久久久久久久久久免费看 | 成人午夜精品一区二区三区 | 国产91色 | 久久久久久综合 | 中文字幕视频 | 欧美一级艳片视频免费观看 | 午夜精品一区二区三区免费视频 | 欧美日韩一区二区视频在线观看 | 91视频网| 国产丝袜一区 | 欧美激情一区二区三区四区 | 亚洲久草| 午夜精品久久久久久久久久久久久 | 91丝袜| 午夜在线小视频 | 午夜爱爱毛片xxxx视频免费看 | 久久不卡日韩美女 | 亚洲国产日本 | 国产成人一区 | 99精品视频在线免费观看 | 精品免费国产视频 | 成人免费在线视频播放 | 久久99精品国产99久久6男男 | 亚州综合 | 国产成人精品一区二 | 精品亚洲一区二区三区 | 国产一区91 | 欧美一区二区在线播放 | 国产精品成av人在线视午夜片 | www日韩 | 欧美一区视频 | 久久精品一级 | 日韩欧美视频 | 亚洲第一成年免费网站 | 久久香蕉国产视频 | 亚洲精品一区二区三区在线 | 草比网站 | 久久99深爱久久99精品 | 欧美日韩一区二区三区在线观看 | 国产激情不卡 | 久久人人网| 欧美日韩一区二区三区视频 | 久久久久久久成人 | 成人毛片视频免费 | 国产精品久久久久久久久久久免费看 | 国产精品综合久久 | ririsao久久精品一区 | 国产精品亚洲一区二区三区在线 | 特一级毛片 | 另类久久| 91久久看片 | 欧美日韩国产一区二区三区不卡 | 久久丁香 | 久久99久久98精品免观看软件 | 精品久久国产 | 久久久一区二区三区 | 91九色porny首页最多播放 | 伊人网在线免费观看 | 日韩中文字幕在线观看 | 精品一二三四区 | 91一区二区在线 | 国产亚洲精品综合一区91555 | 欧美一区免费 | 蜜臀91精品国产高清在线观看 | 精品美女在线 | 国产全黄 | 日本黄色大片免费看 | 成人久久久精品乱码一区二区三区 | 一区二区日本 | 91免费在线看 | 欧美成人免费在线观看 | 色婷婷综合网 | 成人免费观看视频 | 国产精品永久免费 | 亚洲精品国产电影 | 欧美日韩在线不卡 | 亚洲男人的天堂在线观看 | 亚洲天堂电影网 | 亚洲精品久久久久国产 | 精品二三区 | 中文字幕av亚洲精品一部二部 | 天天夜碰日日摸日日澡 | 精品久久久久一区二区国产 | 91高清视频| 精品国产乱码久久久久久久软件 | 成人久久久 | 国产精品美女久久久久久免费 | 日本久久精品电影 | 国产视频久久 | 国产精品69久久久久水密桃 | www.欧美.com | 国产激情精品一区二区三区 | 亚洲国产成人精品女人久久久 | 天天躁人人躁人人躁狂躁 | 亚洲国产日韩a在线播放性色 | 自拍偷拍视频网站 | 亚洲精品视频一区 | 91精品一区二区三区久久久久久 | 精品国产一区二区三区久久 | 亚洲欧美日韩另类精品一区二区三区 | 91在线视频一区 | 国产99在线播放 | 欧美成年黄网站色视频 | 特大毛片 | 亚洲福利av | 国产精品极品美女在线观看免费 | aaa天堂 | 人人干人人干人人干 | 亚洲精品一区二区三区在线 | 国产精品无码永久免费888 | 成年人精品视频 | 色999国产| 国产精品毛片无码 | 中文字幕视频在线观看 | 欧美性一区二区三区 | 超碰偷拍 | 久久这里只有国产精品 | av日韩在线播放 | 精品在线看 | 色天天综合网 | www.国产精品| 免费日本视频 | 91久久久久 | 国产精品视频一二三区 | 久久亚洲国产精品 | 嫩草网址 | 最新免费视频 | 欧洲一区在线 | 日韩精品在线视频 | 北条麻妃一区二区三区在线观看 | 国产精品免费一区二区三区四区 | 最新免费视频 | 日韩一区二区在线电影 | 国产成人av一区二区 | 亚洲综合视频在线 | 久久国产亚洲精品 | 韩国精品主播一区二区在线观看 | 97色在线观看免费视频 | 91观看在线视频 | 国产一区免费 | 福利视频网址导航 | 毛片网站在线观看 | 日韩一二三区 | 一区影院 | 精品久久久久av | 97国产精品视频人人做人人爱 | 日韩在线免费 | 国精日本亚洲欧州国产中文久久 | 国产成人精品一区二区三区四区 | 婷婷国产成人精品视频 | 国产激情偷乱视频一区二区三区 | 奇米在线视频 | 成人黄色免费 | 午夜影院免费版 | 婷婷网址 | 精品国产一区二区三区不卡蜜臂 | www.国产| 欧美一区二区视频 | 久久久国产视频 | 成全视频免费观看在线看黑人 | 久久久99精品免费观看 | 国产乱码久久久久久一区二区 | 欧美日韩精品一区二区三区四区 | 久久99深爱久久99精品 | 美国特级a毛片免费网站 | 成人免费视频 | 日韩视频一区在线观看 | 一级全毛片 | 国产欧美日韩综合精品一区二区 | 精品久久久av | 麻豆.蜜桃.91.天美入口 | 国产成人av网站 | 亚洲国产成人精品女人久久久 | 一区二区在线免费观看 | 不卡一区二区三区四区 | 国产欧美精品一区aⅴ影院 毛片视频网站 | 欧美精品一区二区三区在线四季 | 黄久久久| 亚洲一区二区三区久久 | 在线观看亚洲a | 亚洲一区二区免费看 | 亚洲精品在线播放视频 | 精品毛片 | 成人午夜免费视频 | www伊人| 一区二区三区视频免费看 | 欧美日韩精品综合 | 亚洲精品成人网 | 国产欧美精品区一区二区三区 | 91看片淫黄大片一级在线观看 | 亚洲永久免费视频 | 亚洲精品一区二区三区蜜桃久 | 日日骚av| 毛片免费看| 一区二区三区精品 | 国产一区二区自拍 | 美女视频黄色片 | 91精品免费在线观看 | 亚洲国产日韩在线 | 一级毛片免费一级 | 特级淫片日本高清视频免费 | 日韩性精品 | 日韩a在线| 久久久国产一区二区 | 国产综合精品一区二区三区 | 欧美日韩视频在线第一区 | 日日撸| 亚洲国产欧美在线 | a级毛片基地| 日韩av手机在线免费观看 | 国产一区日韩欧美 | 欧美日韩精品一区二区 | 操人视频网站 | 中文字幕一区在线观看 | 99热手机在线观看 | 国产精品久久久久久久美男 | 国产精品九九九 | 精品在线一区二区 | 亚洲 成人 av | 欧美精品导航 | 色婷婷综合久久久久中文一区二区 | 中文字幕亚洲欧美精品一区四区 | 91大神免费观看 | 午夜爱视频| 精品日韩在线 | 国产精品九九九 | 国产一级片一区二区三区 | 99热在线精品播放 | 欧美视频精品在线观看 | www.av7788.com| 日韩精品一区在线 | 亚洲欧美中文字幕 | 日本一区二区不卡 | 国产精品亚洲综合 | www.国产精品 | 高清国产一区二区三区四区五区 | 久久少妇免费看 | 欧美精品一区二区久久 | 亚洲综合色自拍一区 | 亚洲精品在线免费播放 | 久久99国产精品免费网站 | 在线观看亚洲一区 | 一区二区三区日韩 | 成人午夜啪啪好大 | 国产一区二区三区免费 | 岛国av一区| 国产日韩在线视频 | 在线不卡视频 | 国偷自产一区二区免费视频 | 亚洲午夜视频在线观看 | 亚洲国产视频一区 | 一区二区日韩精品 | 天堂欧美城网站网址 | 一级一片免费视频 | 欧美日韩中文字幕在线 | www.avtt天堂网| 国产日韩欧美亚洲 | 亚洲视频在线观看 | 91精品国产91综合久久蜜臀 | 国产精品不卡视频 | 国产精品毛片无码 | 久久成人国产 | 国产美女网站 | 国产免费久久 | 嫩草影院永久入口 | 成人在线视频播放 | 成人精品鲁一区一区二区 | 荡女妇边被c边呻吟视频 | 国产精品精品视频一区二区三区 | 一区二区精品视频 | 亚洲欧美激情视频 | 午夜国产一级片 | 亚洲 中文 欧美 日韩 在线观看 | 97久久精品 | 一级在线毛片 | 国产乱码精品一区二区三区中文 | 欧美一级黄色大片 | 国产综合区 | 欧美日本亚洲 | 精品成人一区 | 亚洲精品视频在线看 | 成人免费淫片aa视频免费 | 成人精品| 亚洲午夜精品 | 黄色国产一级片 | 中文在线视频 | 五月网婷婷 | 99久久99久久久精品色圆 | 可以免费看黄的网站 | 自拍视频在线 | 国产精品99久久久久 | 欧美在线视频一区二区 | 日韩在线视频观看 | 久久久网 | 亚洲激情网站 | 欧美成人h版在线观看 | 亚洲国产精品久久人人爱 | 在线一区二区三区做爰视频网站 | 2019天天干夜夜操 | 亚洲高清在线观看视频 | 久久精品国产精品 | 91精品国产综合久久婷婷香蕉 | 黄色片在线免费观看 | 日日夜夜爽 | 国产在线乱| 亚洲午夜电影 | 亚洲视频免费在线观看 | 亚洲人成网站999久久久综合 | 91视频爱爱| 美女视频久久 | 日韩一区二区三区在线 | 91综合网| 亚洲欧洲视频在线 | 国产一区二区三区视频 | 亚洲国产区 | 日韩一区二区三区精品 | 国产精品午夜电影 | 中文字幕一区二区三区乱码在线 | 免费网站国产 | 91成人免费在线观看 | 亚洲色图3p |