Last active
November 27, 2021 02:48
-
-
Save neno-tech/05a047770c6be3cee44afbd9a1aae6e0 to your computer and use it in GitHub Desktop.
เว็บแอปอัปโหลดไฟล์ แบบใช้ doPost แชร์รายการคุยกันวันเสาร์กับครูอภิวัฒน์"สอนสร้างสื่อ"
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function doGet(e) { | |
var htmlOutput = HtmlService.createTemplateFromFile('index'); | |
htmlOutput.message = ''; | |
return htmlOutput.evaluate(); | |
} | |
function doPost(e) { | |
var folder = DriveApp.getFolderById('xxx');//เปลี่ยนเป็นไอดีโฟลเดอร์เก็บไฟล์ของท่าน; | |
var data = Utilities.base64Decode(e.parameter.fileData); | |
var blob = Utilities.newBlob(data, e.parameter.mimeType, e.parameter.fileName); | |
var file = folder.createFile(blob); | |
var fileURL = file.getUrl(); | |
recordData(e.parameter.username, e.parameter.fileName,fileURL); | |
var htmlOutput = HtmlService.createTemplateFromFile('success'); | |
htmlOutput.message = 'อัปโหลดไฟล์เรียบร้อยแล้ว'; | |
return htmlOutput.evaluate(); | |
} | |
function recordData(username, fileName, fileURL){ | |
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet() | |
ss.appendRow([new Date(), username, fileName, fileURL]); | |
} | |
function getUrl() { | |
var url = ScriptApp.getService().getUrl(); | |
return url; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<base target="_top"> | |
</head> | |
<body> | |
<?var url = getUrl();?> | |
<form method="post" action="<?= url ?>"> | |
<div class="mb-3"> | |
<label for="username" class="form-label"> ชื่อ สกุล</label> | |
<input type="text" class="form-control" name="username" placeholder="ชื่อ สกุล" required> | |
</div> | |
<div class="mb-3"> | |
<label class="form-label"> อัปโหลดไฟล์</label> | |
<input type="file" class="uploader form-control" name="file" onchange="LoadFile(event)"> | |
<input type="hidden" id="fileData" name="fileData"> | |
<input type="hidden" id="mimeType" name="mimeType"> | |
<input type="hidden" id="fileName" name="fileName"> | |
</div> | |
<div class="mb-3"> | |
<button type="submit" class="btn btn-primary"> อัปโหลด</button> | |
</div> | |
</form> | |
<script> | |
function LoadFile(event) { | |
var file = event.target.files[0]; | |
var reader = new FileReader(); | |
reader.onload = function (e) { | |
var fileData = e.target.result.substr(e.target.result.indexOf(",") + 1); | |
var mimeTypeStart = e.target.result.indexOf("data:") + 5; | |
var mimeTypeEnd = e.target.result.indexOf(";"); | |
var mimeType = e.target.result.substr(mimeTypeStart, mimeTypeEnd - mimeTypeStart); | |
var fileName = file.name; | |
document.getElementById("fileData").value = fileData; | |
document.getElementById("mimeType").value = mimeType; | |
document.getElementById("fileName").value = fileName; | |
}; | |
reader.readAsDataURL(file); | |
} | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment