Google Drive API |
您所在的位置:网站首页 › React使用base64转换字符串 › Google Drive API |
三个步骤:使用drive.files.create函数中的base64数据创建一个临时文件,然后为该文件指定一个特定的名称-eg tempFile,也可以使用时间值自定义此名称。之后,在“fs.createReadStream”方法上传递此文件,以将其上传到Google驱动器上。 一些提示: 首先 -使用path.join(__ dirname,name +“ - ”+ Date.now()+“。ext”)创建文件名 其次 -异步进行此过程以避免数据流冲突(尝试在创建文件之前创建文件),因此在设置fs.writeFile函数后调用drive.files.create。 第三 -在操作完成后销毁tempFile。它允许您自动化该过程。 我让你深入了解你需要的方法。但基本上fs应该做的工作。 同样,请注意数据流并使用回调来控制它。您的代码可能会崩溃,因为该功能以无法运行的方式升级。 这里有一个实例: // datavalue = some time value fs.writeFile( path.join(__dirname, name + "-" + datevalues +".mp3" ), data.substr(data.indexOf(',')+1), {encoding: 'base64'}, // callback function(err) { if(err){ console.log("error writting file : " + err)} console.log('File created') console.log("WRITTING") // control data flow fileCreate(name) }) function fileCreate (name){ // upload file in specific folder var folderId = "someID"; var fileMetadata = { 'name': name + ".mp3" , parents: [folderId] }; console.log("MEDIA") // control data flow var media = { mimeType: 'audio/mp3', body: fs.createReadStream(path.join(__dirname, name + "-" + datevalues +".mp3" )) }; drive.files.create({ auth: jwToken, resource: fileMetadata, media: media, fields: 'id' }, function (err, file) { if (err) { // Handle error console.error(err); } else { console.log('File Id: ', file.data.id); } // make a callback to a deleteFile() function // I let you search for it }); } |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |