sas*_*reh 5 google-apps-script google-drive-api
我正在尝试使用Google脚本将用户的文件上传到我的Google云端硬盘。
我将google scipt部署为网络应用程序。我有两个文件:
form.html
<div id="output"></div>
<form id="myForm">
<input type="hidden" name="user_id" id="user_id" value="<?= user_id ?>">
<input type="file" name="myFile">
<input type="submit" id="upload_button" value="Upload File"
onclick="this.value='Uploading..';
google.script.run.withSuccessHandler(fileUploaded)
.uploadFiles(this.parentNode);
return false;">
</form>
<script>
function fileUploaded(status) {
document.getElementById('upload_button').value = "Upload File";
document.getElementById('output').innerHTML = status;
}
</script>
<style>
input { display:block; margin: 20px; }
</style>
Run Code Online (Sandbox Code Playgroud)
服务器
function folderExists(name) {
var folders = DriveApp.getFoldersByName(name);
return folders.hasNext();
}
function createForm(uid) {
var t = HtmlService.createTemplateFromFile('form.html');
t.user_id = uid;
return t.evaluate().setSandboxMode(HtmlService.SandboxMode.NATIVE);
}
function doGet(e) {
var uid = e.parameters.user_id;
if (uid && folderExists(uid))
return createForm(uid);
return HtmlService.createHtmlOutput('<b>Request is not valid</b>');
}
function uploadFiles(form) {
try {
var uid = form.user_id;
var folder, folders = DriveApp.getFoldersByName(uid);
if (folders.hasNext()) {
folder = folders.next();
} else {
return "Unable to upload file";
}
var blob = form.myFile;
var file = folder.createFile(blob);
return "File uploaded successfully";
} catch (error) {
return error.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试上传48 Mb文件并收到异常:
例外:文件超出最大文件大小。
Google将文件推送到云端硬盘是否有某些限制?我正在使用1 TB的计划。
编辑:
我正在尝试使用
Drive.Files.insert
Run Code Online (Sandbox Code Playgroud)
功能。它具有限制:最大文件大小:5120GB,如下所述:https : //developers.google.com/drive/v2/reference/files/insert
因此,在这种情况下,我也无法将文件上传到我的Google云端硬盘并收到以下信息:
例外:响应为空
| 归档时间: |
|
| 查看次数: |
1076 次 |
| 最近记录: |