这是代码:
const dest = fs.createWriteStream('./src/Pages/downloads/' + fileName + '.' + type)
await drive.files.export({
fileId: fileId, mimeType: newType},
{responseType: 'stream'},
function(err, response){
if(err)return console.log(err);
response.data.on('error', err => {
console.log("Found at 911 " + err);
})
.pipe(dest, function(){console.log('file path written.')})
.on('end', ()=>{
console.log("sent file.")
})
});
Run Code Online (Sandbox Code Playgroud)
有几件事需要解释一下。
我有一个 Chrome 扩展程序,它从后端 Node.js 服务器获取文件信息,以便在扩展程序中提供 google 驱动器文件。在这个特定实例中,我遇到的问题是将后端保存的文件上传到前端的gapi客户端,该客户端允许用户将其上传到他们的谷歌驱动器。身份验证一切都很好,主要问题是上传。
这是我的代码。
背景.js(客户端):
var parentFolder;
var fileArray;
let classroomUrl = 'https://connect.smartpathed.com/getclassroomparent';
await fetch(classroomUrl)
.then(response => response.text())
.then(data => parentFolder = data)
.then(data => console.log(parentFolder));
let fileArrayUrl = "https://connect.smartpathed.com/getclassroomarrayselect";
await fetch(fileArrayUrl)
.then(response => response.json())
.then(data => fileArray = data)
.then(data => console.log(fileArray));
function sleep(milliseconds) {
const date = Date.now();
let currentDate = null;
do {
currentDate = Date.now();
} while (currentDate - date < milliseconds);
}
gapi.client.init({
apiKey: API_KEY,
discoveryDocs: DISCOVERY_DOCS,
}).then(function() {
chrome.identity.getAuthToken({interactive: true}, …Run Code Online (Sandbox Code Playgroud)