I am working with Google Text To Speech (TTS) in order to save a generated binary audio file to Google Cloud Storage (GCS).
Saving a local binary file d
Thanks @Doug_Stevenson and @AndersonMendes for the guidance!
I was including both the bucket id to my Google Cloud Storage and the file path in the same string which was the source of the error.
var bucket = storage.bucket('gs://[projectName].appspot.com');
bucket.upload(tempFile, { destination: ("directory/someFolderName/" + fileName) }, (err, file) => {
if (!err) {
console.log('Audiocast uploaded!');
} else {
console.error('Audiocast upload error: ' + err.message);
}
});
Same answer, my code:
const http = require('http');
const fs = require('fs');
const path = require('path');
const os = require('os');
var options = {
destination: ('Audio/' + longLanguage + '/' + pronunciation + '/' + word + '.mp3'),
contentType: 'audio/' + audioType
};
function oedPromise() {
return new Promise(function(resolve, reject) {
const tempFile = path.join(os.tmpdir(), (word + '.mp3'));
const file = fs.createWriteStream(tempFile)
http.get(apiURL, function(response) {
response.pipe(file)
.on('error', function(error) {
console.error(error);
reject(error);
})
.on('finish', function() {
myBucket.upload(tempFile, options)
.then(function(data) {
return;
})
.catch(error => console.error(error));
});
});
});
}
I cannot comment due to lack of reputation points on this platform.
You need to delete your temp files:
https://firebase.google.com/docs/functions/tips#always_delete_temporary_files