問題描述
我正在嘗試使用我的應用一次上傳多個文件.它識別何時選擇了 2 個或更多文件.但是,它只會將選擇的第一個文件上傳到我的驅動器.另外(雖然很小),我想知道如何將我的 textarea 字體更改為 Times New Roman 以與字體的其余部分保持一致.
代碼.gs
函數 doGet() {返回 HtmlService.createHtmlOutputFromFile('form').setSandboxMode(HtmlService.SandboxMode.IFRAME);}函數上傳文件(表格){嘗試 {var 文件夾標題 = form.zone + ' |建筑:'+ form.building +' |' + form.propertyAddress + ' |' + form.attachType;var 文件夾,文件夾 = DriveApp.getFolderById("0B7UEz7SKB72HfmNmNnlSM2NDTVVUSlloa1hZeVI0VEJuZUhSTmc4UXYwZjV1eWM5YXJPaGs");var createfolder = 文件夾.createFolder(文件夾標題);文件夾=創建文件夾;var blob = form.filename;var file = folder.createFile(blob);file.setDescription(" " + form.fileText);return "文件上傳成功!這是您文件的鏈接:" + folder.getUrl();} 捕捉(錯誤){Logger.log('err:' + error.toString());返回錯誤.toString();}}函數上傳ArquivoParaDrive(base64Data,nomeArq,idPasta){嘗試{var splitBase = base64Data.split(','),type = splitBase[0].split(';')[0].replace('data:','');var byteCharacters = Utilities.base64Decode(splitBase[1]);var ss = Utilities.newBlob(byteCharacters, type);ss.setName(nomeArq);var file = DriveApp.getFolderById("0B7UEz7SKB72HfmNmNnlSM2NDTVVUSlloa1hZeVI0VEJuZUhSTmc4UXYwZjV1eWM5YXJPaGs").createFile(ss);返回文件.getName();}捕捉(e){return '錯誤:' + e.toString();}}
form.html
<div id="formcontainer"><label for="myForm">設施項目數據庫附件上傳器:</label><br><br><form id="myForm"><label for="myForm">項目詳情:</label><input type="text" name="zone" placeholder="Zone:"></div><input type="text" name="building" placeholder="Building(s):"></div><input type="text" name="propertyAddress" placeholder="房產地址:"></div><label for="fileText">項目描述:</label><TEXTAREA 名稱="項目描述"placeholder="在此處描述您的附件:"樣式=寬度:400像素;高度:200像素;"></TEXTAREA></div><br><label for="attachType">選擇附件類型:</label><br><選擇名稱="attachType"><option value="僅限圖片">圖片</option><option value="僅限提案">提案</option><option value="圖片&提案">全部</option></選擇><br><label for="myFile">上傳附件:</label><br><input type="file" name="filename" id="myFile" 多個><input type="submit" value="Submit" onclick="iteratorFileUpload()"></表格></div><div id="輸出"></div><腳本>函數迭代器文件上傳(){var allFiles = document.getElementById('myFile').files;if (allFiles.length == 0) {alert('沒有選擇文件!');} 別的 {//每次發送一個文件變量 i=0;for (i=0; i < allFiles.total; i+=1) {console.log('本次迭代:' + i);sendFileToDrive(allFiles[i]);};};};函數發送文件到驅動(文件){var reader = new FileReader();reader.onload = 函數 (e) {var content = reader.result;console.log('發送中' + file.name);google.script.run.withSuccessHandler(fileUploaded).uploadArquivoParaDrive(內容,文件名,currFolder);}reader.readAsDataURL(文件);};</腳本><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script><腳本>//上傳 de arquivo dentro das Pastas Arquivos Auxiliares功能 iterarArquivosUpload() {var arquivos = document.getElementById('inputUpload').files;如果(arquivos.length == 0){alert('沒有選擇文件!');} 別的 {//顯示進度條numUploads.total = arquivos.length;$('.progressUpload').progressbar({值:假});$('.labelProgressUpload').html('Preparando arquivos para upload');//一次發送每個文件for (var arqs = 0; arqs < numUploads.total; arqs++) {控制臺.log(arqs);enviarArquivoParaDrive(arquivos[arqs]);}}}功能enviarArquivoParaDrive(arquivo){var reader = new FileReader();reader.onload = 函數 (e) {var content = reader.result;console.log('正在發送' + arquivo.name);google.script.run.withSuccessHandler(updateProgressbar).uploadArquivoParaDrive(content, arquivo.name, currFolder);}reader.readAsDataURL(arquivo);}函數更新進度條(idUpdate){console.log('收到:' + idUpdate);numUploads.done++;var porc = Math.ceil((numUploads.done/numUploads.total)*100);$('.progressUpload').progressbar({value: porc });$('.labelProgressUpload').html(numUploads.done +'/'+ numUploads.total);如果(numUploads.done == numUploads.total){上傳完成();numUploads.done = 0;};}</腳本><腳本>功能文件上傳(狀態){document.getElementById('myForm').style.display = 'none';document.getElementById('output').innerHTML = status;}</腳本><風格>身體 {最大寬度:400px;填充:20px;邊距:自動;}輸入 {顯示:內聯塊;寬度:100%;填充:5px 0px 5px 5px;邊距底部:10px;-webkit-box-sizing:邊框框;? -moz-box-sizing: 邊框;box-sizing:邊框框;}選擇 {邊距:5px 0px 15px 0px;}輸入[類型=提交"] {寬度:自動!重要;顯示:塊!重要;}輸入[類型=文件"] {填充:5px 0px 15px 0px !重要;}</風格></身體> 解決方案 我知道這個問題很老了,但是在找到它和相關問題之后,我一直無法讓多文件上傳工作.因此,在多次撞墻之后,我想發布一個完整的示例(.html 和 .gs),以防將來有人正在尋找一個開始.當我現在部署它時,這是有效的,并且希望對那里的其他人有用.請注意,我只是硬編碼驅動器中的文件夾以在 code.gs 文件中使用,但可以輕松更改.
form.html:
<div id="formcontainer"><label for="myForm">設施項目數據庫附件上傳器:</label><br><br><form id="myForm"><label for="myForm">項目詳情:</label><input type="text" name="zone" placeholder="Zone:"></div><input type="text" name="building" placeholder="Building(s):"></div><input type="text" name="propertyAddress" placeholder="房產地址:"></div><label for="fileText">項目描述:</label><TEXTAREA 名稱="項目描述"placeholder="在此處描述您的附件:"樣式=寬度:400像素;高度:200像素;"></TEXTAREA></div><br><label for="attachType">選擇附件類型:</label><br><選擇名稱="attachType"><option value="僅限圖片">圖片</option><option value="僅限提案">提案</option><option value="圖片&提案">全部</option></選擇><br><label for="myFile">上傳附件:</label><br><input type="file" name="filename" id="myFile" 多個><input type="button" value="Submit" onclick="iteratorFileUpload()"></表格></div><div id="輸出"></div><div id="進度條"><div class="progress-label"></div></div><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script><link rel="stylesheet" ><script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script><腳本>var numUploads = {};numUploads.done = 0;numUploads.total = 0;//將文件上傳到驅動器的文件夾中//設置為將它們全部發送到一個文件夾(在 .gs 文件中指定)函數迭代器文件上傳(){var allFiles = document.getElementById('myFile').files;if (allFiles.length == 0) {alert('沒有選擇文件!');} 別的 {//顯示進度條numUploads.total = allFiles.length;$('#progressbar').progressbar({值:假});//.append("<div class='caption'>37%</div>");$(".progress-label").html('準備上傳文件');//一次發送每個文件for (var i = 0; i < allFiles.length; i++) {控制臺.log(i);sendFileToDrive(allFiles[i]);}}}函數發送文件到驅動(文件){var reader = new FileReader();reader.onload = 函數 (e) {var content = reader.result;console.log('發送中' + file.name);var currFolder = '某事';google.script.run.withSuccessHandler(updateProgressbar).uploadFileToDrive(content, file.name, currFolder);}reader.readAsDataURL(文件);}函數更新進度條(idUpdate){console.log('收到:' + idUpdate);numUploads.done++;var porc = Math.ceil((numUploads.done/numUploads.total)*100);$("#progressbar").progressbar({value: porc });$(".progress-label").text(numUploads.done +'/'+ numUploads.total);如果(numUploads.done == numUploads.total){//上傳完成();numUploads.done = 0;};}</腳本><腳本>功能文件上傳(狀態){document.getElementById('myForm').style.display = 'none';document.getElementById('output').innerHTML = status;}</腳本><風格>身體 {最大寬度:400px;填充:20px;邊距:自動;}輸入 {顯示:內聯塊;寬度:100%;填充:5px 0px 5px 5px;邊距底部:10px;-webkit-box-sizing:邊框框;? -moz-box-sizing: 邊框;box-sizing:邊框框;}選擇 {邊距:5px 0px 15px 0px;}輸入[類型=提交"] {寬度:自動!重要;顯示:塊!重要;}輸入[類型=文件"] {填充:5px 0px 15px 0px !重要;}#進度條{寬度:100%;文本對齊:居中;溢出:隱藏;位置:相對;垂直對齊:中間;}.進度標簽{向左飄浮;邊距頂部:5px;字體粗細:粗體;文字陰影:1px 1px 0 #fff;寬度:100%;高度:100%;位置:絕對;垂直對齊:中間;}</風格></身體>code.gs:
函數 doGet() {返回 HtmlService.createHtmlOutputFromFile('form').setSandboxMode(HtmlService.SandboxMode.IFRAME);}函數uploadFileToDrive(base64Data,文件名){嘗試{var splitBase = base64Data.split(','),type = splitBase[0].split(';')[0].replace('data:','');var byteCharacters = Utilities.base64Decode(splitBase[1]);var ss = Utilities.newBlob(byteCharacters, type);ss.setName(文件名);var dropbox = "某事";//文件夾名稱var 文件夾,文件夾 = DriveApp.getFoldersByName(dropbox);如果(文件夾.hasNext()){文件夾 = 文件夾.next();} 別的 {文件夾 = DriveApp.createFolder(dropbox);}var file = folder.createFile(ss);返回文件.getName();}捕捉(e){return '錯誤:' + e.toString();}}
I'm trying to upload multiple files at once with my app. It recognizes when there are 2 or more files being selected. However, it will only upload the 1st file that is selected to my drive. Also (although quite minor), I was wondering how I can change my textarea font to be Times New Roman to stay consistent with the rest of the font.
Code.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile('form')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function uploadFiles(form) {
try {
var foldertitle = form.zone + ' | Building: ' + form.building + ' | ' + form.propertyAddress + ' | ' + form.attachType;
var folder, folders = DriveApp.getFolderById("0B7UEz7SKB72HfmNmNnlSM2NDTVVUSlloa1hZeVI0VEJuZUhSTmc4UXYwZjV1eWM5YXJPaGs");
var createfolder = folders.createFolder(foldertitle);
folder = createfolder;
var blob = form.filename;
var file = folder.createFile(blob);
file.setDescription(" " + form.fileText);
return "File(s) uploaded successfully! Here is the link to your file(s): " + folder.getUrl();
} catch (error) {
Logger.log('err: ' + error.toString());
return error.toString();
}
}
function uploadArquivoParaDrive(base64Data, nomeArq, idPasta) {
try{
var splitBase = base64Data.split(','),
type = splitBase[0].split(';')[0].replace('data:','');
var byteCharacters = Utilities.base64Decode(splitBase[1]);
var ss = Utilities.newBlob(byteCharacters, type);
ss.setName(nomeArq);
var file = DriveApp.getFolderById("0B7UEz7SKB72HfmNmNnlSM2NDTVVUSlloa1hZeVI0VEJuZUhSTmc4UXYwZjV1eWM5YXJPaGs").createFile(ss);
return file.getName();
}catch(e){
return 'Erro: ' + e.toString();
}
}
form.html
<body>
<div id="formcontainer">
<label for="myForm">Facilities Project Database Attachment Uploader:</label>
<br><br>
<form id="myForm">
<label for="myForm">Project Details:</label>
<div>
<input type="text" name="zone" placeholder="Zone:">
</div>
<div>
<input type="text" name="building" placeholder="Building(s):">
</div>
<div>
<input type="text" name="propertyAddress" placeholder="Property Address:">
</div>
<div>
<label for="fileText">Project Description:</label>
<TEXTAREA name="projectDescription"
placeholder="Describe your attachment(s) here:"
style ="width:400px; height:200px;"
></TEXTAREA>
</div>
<br>
<label for="attachType">Choose Attachment Type:</label>
<br>
<select name="attachType">
<option value="Pictures Only">Picture(s)</option>
<option value="Proposals Only">Proposal(s)</option>
<option value="Pictures & Proposals">All</option>
</select>
<br>
<label for="myFile">Upload Attachment(s):</label>
<br>
<input type="file" name="filename" id="myFile" multiple>
<input type="submit" value="Submit" onclick="iteratorFileUpload()">
</form>
</div>
<div id="output"></div>
<script>
function iteratorFileUpload() {
var allFiles = document.getElementById('myFile').files;
if (allFiles.length == 0) {
alert('No file selected!');
} else {
// Send each file one at a time
var i=0;
for (i=0; i < allFiles.total; i+=1) {
console.log('This iteration: ' + i);
sendFileToDrive(allFiles[i]);
};
};
};
function sendFileToDrive(file) {
var reader = new FileReader();
reader.onload = function (e) {
var content = reader.result;
console.log('Sending ' + file.name);
google.script.run
.withSuccessHandler(fileUploaded)
.uploadArquivoParaDrive(content, file.name, currFolder);
}
reader.readAsDataURL(file);
};
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
// Upload de arquivo dentro das pastas Arquivos Auxiliares
function iterarArquivosUpload() {
var arquivos = document.getElementById('inputUpload').files;
if (arquivos.length == 0) {
alert('No file selected!');
} else {
//Show Progress Bar
numUploads.total = arquivos.length;
$('.progressUpload').progressbar({
value : false
});
$('.labelProgressUpload').html('Preparando arquivos para upload');
// Send each file at a time
for (var arqs = 0; arqs < numUploads.total; arqs++) {
console.log(arqs);
enviarArquivoParaDrive(arquivos[arqs]);
}
}
}
function enviarArquivoParaDrive(arquivo) {
var reader = new FileReader();
reader.onload = function (e) {
var content = reader.result;
console.log('Sending ' + arquivo.name);
google.script.run.withSuccessHandler(updateProgressbar).uploadArquivoParaDrive(content, arquivo.name, currFolder);
}
reader.readAsDataURL(arquivo);
}
function updateProgressbar( idUpdate ){
console.log('Received: ' + idUpdate);
numUploads.done++;
var porc = Math.ceil((numUploads.done / numUploads.total)*100);
$('.progressUpload').progressbar({value: porc });
$('.labelProgressUpload').html(numUploads.done +'/'+ numUploads.total);
if( numUploads.done == numUploads.total ){
uploadsFinished();
numUploads.done = 0;
};
}
</script>
<script>
function fileUploaded(status) {
document.getElementById('myForm').style.display = 'none';
document.getElementById('output').innerHTML = status;
}
</script>
<style>
body {
max-width: 400px;
padding: 20px;
margin: auto;
}
input {
display: inline-block;
width: 100%;
padding: 5px 0px 5px 5px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
?? -moz-box-sizing: border-box;
box-sizing: border-box;
}
select {
margin: 5px 0px 15px 0px;
}
input[type="submit"] {
width: auto !important;
display: block !important;
}
input[type="file"] {
padding: 5px 0px 15px 0px !important;
}
</style>
</body>
解決方案 I know this question is old, but after finding it and related ones, I was never able to get the multiple file upload working. So after a lot of banging my head against walls, I wanted to post a full example (.html and .gs) in case anyone in the future is looking for one to get started. This is working when I deploy it right now and will hopefully work for other people out there. Note that I just hardcoded the folder in the drive to use in the code.gs file, but that can be easily changed.
form.html:
<body>
<div id="formcontainer">
<label for="myForm">Facilities Project Database Attachment Uploader:</label>
<br><br>
<form id="myForm">
<label for="myForm">Project Details:</label>
<div>
<input type="text" name="zone" placeholder="Zone:">
</div>
<div>
<input type="text" name="building" placeholder="Building(s):">
</div>
<div>
<input type="text" name="propertyAddress" placeholder="Property Address:">
</div>
<div>
<label for="fileText">Project Description:</label>
<TEXTAREA name="projectDescription"
placeholder="Describe your attachment(s) here:"
style ="width:400px; height:200px;"
></TEXTAREA>
</div>
<br>
<label for="attachType">Choose Attachment Type:</label>
<br>
<select name="attachType">
<option value="Pictures Only">Picture(s)</option>
<option value="Proposals Only">Proposal(s)</option>
<option value="Pictures & Proposals">All</option>
</select>
<br>
<label for="myFile">Upload Attachment(s):</label>
<br>
<input type="file" name="filename" id="myFile" multiple>
<input type="button" value="Submit" onclick="iteratorFileUpload()">
</form>
</div>
<div id="output"></div>
<div id="progressbar">
<div class="progress-label"></div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<link rel="stylesheet" >
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script>
var numUploads = {};
numUploads.done = 0;
numUploads.total = 0;
// Upload the files into a folder in drive
// This is set to send them all to one folder (specificed in the .gs file)
function iteratorFileUpload() {
var allFiles = document.getElementById('myFile').files;
if (allFiles.length == 0) {
alert('No file selected!');
} else {
//Show Progress Bar
numUploads.total = allFiles.length;
$('#progressbar').progressbar({
value : false
});//.append("<div class='caption'>37%</div>");
$(".progress-label").html('Preparing files for upload');
// Send each file at a time
for (var i = 0; i < allFiles.length; i++) {
console.log(i);
sendFileToDrive(allFiles[i]);
}
}
}
function sendFileToDrive(file) {
var reader = new FileReader();
reader.onload = function (e) {
var content = reader.result;
console.log('Sending ' + file.name);
var currFolder = 'Something';
google.script.run.withSuccessHandler(updateProgressbar).uploadFileToDrive(content, file.name, currFolder);
}
reader.readAsDataURL(file);
}
function updateProgressbar( idUpdate ){
console.log('Received: ' + idUpdate);
numUploads.done++;
var porc = Math.ceil((numUploads.done / numUploads.total)*100);
$("#progressbar").progressbar({value: porc });
$(".progress-label").text(numUploads.done +'/'+ numUploads.total);
if( numUploads.done == numUploads.total ){
//uploadsFinished();
numUploads.done = 0;
};
}
</script>
<script>
function fileUploaded(status) {
document.getElementById('myForm').style.display = 'none';
document.getElementById('output').innerHTML = status;
}
</script>
<style>
body {
max-width: 400px;
padding: 20px;
margin: auto;
}
input {
display: inline-block;
width: 100%;
padding: 5px 0px 5px 5px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
?? -moz-box-sizing: border-box;
box-sizing: border-box;
}
select {
margin: 5px 0px 15px 0px;
}
input[type="submit"] {
width: auto !important;
display: block !important;
}
input[type="file"] {
padding: 5px 0px 15px 0px !important;
}
#progressbar{
width: 100%;
text-align: center;
overflow: hidden;
position: relative;
vertical-align: middle;
}
.progress-label {
float: left;
margin-top: 5px;
font-weight: bold;
text-shadow: 1px 1px 0 #fff;
width: 100%;
height: 100%;
position: absolute;
vertical-align: middle;
}
</style>
</body>
code.gs:
function doGet() {
return HtmlService.createHtmlOutputFromFile('form')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function uploadFileToDrive(base64Data, fileName) {
try{
var splitBase = base64Data.split(','),
type = splitBase[0].split(';')[0].replace('data:','');
var byteCharacters = Utilities.base64Decode(splitBase[1]);
var ss = Utilities.newBlob(byteCharacters, type);
ss.setName(fileName);
var dropbox = "Something"; // Folder Name
var folder, folders = DriveApp.getFoldersByName(dropbox);
if (folders.hasNext()) {
folder = folders.next();
} else {
folder = DriveApp.createFolder(dropbox);
}
var file = folder.createFile(ss);
return file.getName();
}catch(e){
return 'Error: ' + e.toString();
}
}
這篇關于使用 Google App 腳本將多個文件上傳到 Google Drive的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!
相關文檔推薦
discord.js v12: How do I await for messages in a DM channel?(discord.js v12:我如何等待 DM 頻道中的消息?)
how to make my bot mention the person who gave that bot command(如何讓我的機器人提及發出該機器人命令的人)
How to fix Must use import to load ES Module discord.js(如何修復必須使用導入來加載 ES 模塊 discord.js)
How to list all members from a specific server?(如何列出來自特定服務器的所有成員?)
Discord bot: Fix ‘FFMPEG not found’(Discord bot:修復“找不到 FFMPEG)
Welcome message when joining discord Server using discord.js(使用 discord.js 加入 discord 服務器時的歡迎消息)
-
• 在javascript中將GBK轉UTF-8的實例...
-
• AJAX在GBK編碼頁面中傳中文參...
-
• CSS nth-child 表示大于和小于...
-
• 為什么 .class:last-of-type 不能按...
-
• 用 :nth-child 選擇一半的元素...
-
• CSS選擇器用于選擇另一個元素...
-
• 每隔三個元素設置樣式?...
-
• CSS 兄弟選擇器(選擇所有兄弟...
-
• cookie 是否保護令牌免受 XSS...
-
• 錯誤 [ERR_REQUIRE_ESM]:不支持 ...
-
• 如何處理電子中的本地文件上...
-
• CSS3 的 :root 偽類和 html 有什么...
-
• 在javascript中將GBK轉UTF-8的實例...
-
• AJAX在GBK編碼頁面中傳中文參...
-
• CSS nth-child 表示大于和小于...
-
• 為什么 .class:last-of-type 不能按...
-
• 用 :nth-child 選擇一半的元素...
-
• CSS選擇器用于選擇另一個元素...
-
• 每隔三個元素設置樣式?...
-
• CSS 兄弟選擇器(選擇所有兄弟...
-
• cookie 是否保護令牌免受 XSS...
-
• 錯誤 [ERR_REQUIRE_ESM]:不支持 ...
-
• 如何處理電子中的本地文件上...
-
• CSS3 的 :root 偽類和 html 有什么...
掃碼點餐
門戶
驗證碼
廣告設計
商務合作
商城模板
bootstrap
進銷存系統
零售系統
ar
商城
視頻教程
微擎
o2o
分發系統
音樂
淘寶客
discuz模板
微小區
seo推廣
ai
資源
小米
刷單
3d
小游戲
交友
蜘蛛池
卡券
你畫我猜
虛擬幣
區塊鏈
視頻
全景
漫畫網
OElove
按鈕切換
博客
物流網站
游戲模板
svg
jquery
angular
360
動畫模板
攝影
動畫特效
在線客服
扁平
地板
域名停放
域名頁
canvas
html5
小程序
thinkphp
視頻打賞
java視頻
挖礦網
養生網
帝國cms
微信程序
電影源碼
css3
訂單系統
微商
微擎微贊
蘋果cms
郵件群發
小說源碼
主站蜘蛛池模板:
一区二区三区日
|
午夜视频在线观看网址
|
1级毛片
|
日韩毛片免费视频
|
欧美综合一区二区三区
|
在线一级片
|
91av国产在线视频
|
日本成年免费网站
|
www国产成人免费观看视频
|
性色视频
|
中文在线一区二区
|
国产精品1区2区3区
男女啪啪高潮无遮挡免费动态
|
国产一区二区三区色淫影院
|
久久久黄色|
日韩一
|
精品中文在线
|
午夜视频网站
|
免费精品|
成人久久久
|
成人福利视频网站
|
亚洲免费精品
|
欧洲av在线
|
国产三级
|
日韩www视频
|
爱操av|
成人午夜网站
|
免费成人av网站
|
亚洲人成网亚洲欧洲无码
|
亚洲精品综合一区二区
|
国产一区免费视频
|
亚洲成人在线视频播放
|
成人二区
|
一区二区三区四区国产
|
国产成人精品午夜视频免费
|
中文字幕1区2区
|
青草福利
|
免费一级黄
|
亚洲精品二区
|
午夜国产一级
|
日日碰碰|
国产精品久久久久久一区二区三区
|