无法打开通过 Google 应用脚本上传的文件
Unable to open Files uploaded through Google App Script
如标题所示,我目前正在开发一个上传页面,该页面使用户能够将文件(jpg 和 Doc)上传到 Google 驱动器上的文件夹。但是,问题似乎是虽然文件上传成功,但我无法打开它们,而且文件的大小与原始文件相比更大。以下是我目前拥有的,如果可以进一步发展,请告诉我。
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('index.html');
}
function uploadFiles(form) {
try {
var dropbox = "1 作文上傳";
var folder, folders = DriveApp.getFoldersByName(dropbox);
if (folders.hasNext()) {
folder = folders.next();
} else {
folder = DriveApp.createFolder(dropbox);
}
var blob = form.myFile;
var file = folder.createFile(blob);
file.setDescription("上傳者: " + form.Name + " 電話: "+ form.Phone + " 信箱: " + form.Email);
return "<h2>雲端上傳系統</h2><input type='submit' value='上傳完成,可關閉視窗' onclick='window.close();'></form></div>";
} catch (error) {
return error.toString();
}
}
html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>雲端上傳系統</title>
</head>
<body>
<div id="myForm">
<form method="post">
<h2>雲端上傳系統</h2>
<input type="text" name="Name" placeholder="請輸入姓名"><br/>
<input type="text" name="Phone" placeholder="請輸入你的電話"><br/>
<input type="text" name="Email" placeholder="請輸入你的信箱"><br/>
<input type="file" name="myFile">
<input type="submit" value="上傳檔案"
onclick="this.value='檔案上傳中……';
google.script.run.withSuccessHandler(fileUploaded)
.uploadFiles(this.parentNode);
return false;">
</form>
</div>
<div id="output"></div>
<script>
function fileUploaded(status) {
document.getElementById('myForm').style.display = 'none';
document.getElementById('output').innerHTML = status;
}
</script>
</body>
</html>
我遇到了同样的问题,新版本的GAS在用var file = folder.createFile(blob);
创建文件时出现了错误
尝试禁用 GAS V8 并使用旧版。
如标题所示,我目前正在开发一个上传页面,该页面使用户能够将文件(jpg 和 Doc)上传到 Google 驱动器上的文件夹。但是,问题似乎是虽然文件上传成功,但我无法打开它们,而且文件的大小与原始文件相比更大。以下是我目前拥有的,如果可以进一步发展,请告诉我。
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('index.html');
}
function uploadFiles(form) {
try {
var dropbox = "1 作文上傳";
var folder, folders = DriveApp.getFoldersByName(dropbox);
if (folders.hasNext()) {
folder = folders.next();
} else {
folder = DriveApp.createFolder(dropbox);
}
var blob = form.myFile;
var file = folder.createFile(blob);
file.setDescription("上傳者: " + form.Name + " 電話: "+ form.Phone + " 信箱: " + form.Email);
return "<h2>雲端上傳系統</h2><input type='submit' value='上傳完成,可關閉視窗' onclick='window.close();'></form></div>";
} catch (error) {
return error.toString();
}
}
html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>雲端上傳系統</title>
</head>
<body>
<div id="myForm">
<form method="post">
<h2>雲端上傳系統</h2>
<input type="text" name="Name" placeholder="請輸入姓名"><br/>
<input type="text" name="Phone" placeholder="請輸入你的電話"><br/>
<input type="text" name="Email" placeholder="請輸入你的信箱"><br/>
<input type="file" name="myFile">
<input type="submit" value="上傳檔案"
onclick="this.value='檔案上傳中……';
google.script.run.withSuccessHandler(fileUploaded)
.uploadFiles(this.parentNode);
return false;">
</form>
</div>
<div id="output"></div>
<script>
function fileUploaded(status) {
document.getElementById('myForm').style.display = 'none';
document.getElementById('output').innerHTML = status;
}
</script>
</body>
</html>
我遇到了同样的问题,新版本的GAS在用var file = folder.createFile(blob);
尝试禁用 GAS V8 并使用旧版。