Я использую Node.JS.Я не могу понять это.Я обновил модули.
Старый код:
var mimeType = 'image/jpeg';
var randomString = uuidv4();
var options = {
destination: 'test',
metadata: {
contentType: mimeType,
metadata: {
firebaseStorageDownloadTokens: randomString
}
}
};
return admin.storage().bucket().upload(userPhotoDownloadLink, options).then(()=>{
//
}).catch((err) => {
print(`Error Uploading Image:${err}`);
//
});
Этот код больше не работает.Как мне загрузить через http ссылку.Google Cloud 2.4.x показывает только руководства по загрузке локальных файлов.
РЕДАКТИРОВАТЬ:
var uploadPhoto = async function(public_courier_id,userPhotoDownloadLink){
var mimeType = 'image/jpeg';
var randomString = "testkey123";
var options = {
//destination: 'courierPhotos/' + public_courier_id,
metadata: {
contentType: mimeType,
metadata: {
firebaseStorageDownloadTokens: randomString
}
}
};
const file = admin.storage().bucket().file(`courierPhotos/${public_courier_id}`)
console.log(`Fetching File...`);
return fetch(userPhotoDownloadLink).then(res=>{
console.log(`Successfully Fetched, Piping File...`)
return new Promise((resolve,reject)=>{
res.body.pipe(file.createWriteStream(options))
.on('error', function(err) {
reject(`err: ${err}`)
})
.on('finish', function() {
resolve(`complete`);
});
})
});
}
return uploadPhoto("TESTUID","https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png")
.then(res => console.log(`Printing after function ${res}`))
.catch(e => console.log(e));