Я использую следующий код для загрузки больших файлов на Google Диск. Как я могу показать прогресс как числовой процент?Загрузите на Google Диск и покажите процент прогресса
Я не хочу показывать индикатор выполнения, только процент, как «20%».
server.gs
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('upload.html');
}
function uploadFiles(form) {
try {
var dropbox = "uploads";
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("VideoName_Number: " + form.myName);
return "Episode uploaded successfully " + file.getUrl();
} catch (error) {
return error.toString();
}
}
upload.html
<div>
<form id="myForm">
<input type="text" name="myName" placeholder="VideoName_Number">
<input type="file" name="myFile">
<input type="submit" value="Upload Anime"
onclick="this.value='Uploading..';
google.script.run.withSuccessHandler(fileUploaded)
.uploadFiles(this.parentNode);
return false;">
</form>
<div id="output"></div>
<script>
function fileUploaded(status) {
document.getElementById('myForm').style.display = 'none';
document.getElementById('output').innerHTML = status;
}
</script>
<style>
input { display:block; margin: 20px; }
</style>
</div>
Возможно дублировать с этим один: http://stackoverflow.com/questions/18813966/progress-bar-in-google-drive-upload – gui47
Спасибо, полезно, ^^, нет, это ISN дубликат, потому что его не многократное использование chuncs его один файл одной загрузки, совершенно другая система, но я пытаюсь это теперь, возможно, его лучше && –
https://developers.google.com/drive/web/manage-uploads#resumable действительно ответ. Вам нужно вырезать файл самостоятельно и поднять индикатор прогресса после каждого фрагмента. Например. ваш файл равен 10 МБ: разбивайте его на 10 х 1 Мбайт кусков, после загрузки каждого фрагмента добавьте 10% к счетчику прогресса. – pinoyyid