2
我正在從一個URL中讀取圖像並對其進行處理。我需要將這些數據上傳到雲存儲中的文件,目前我正在將數據寫入文件並上傳此文件,然後刪除此文件。有沒有辦法將數據直接上傳到雲端存儲?如何使用nodejs將內存中的文件數據上傳到谷歌雲存儲?
static async uploadDataToCloudStorage(rc : RunContextServer, bucket : string, path : string, data : any, mimeVal : string | false) : Promise<string> {
if(!mimeVal) return ''
const extension = mime.extension(mimeVal),
filename = await this.getFileName(rc, bucket, extension, path),
modPath = (path) ? (path + '/') : '',
res = await fs.writeFileSync(`/tmp/${filename}.${extension}`, data, 'binary'),
fileUrl = await this.upload(rc, bucket,
`/tmp/${filename}.${extension}`,
`${modPath}${filename}.${extension}`)
await fs.unlinkSync(`/tmp/${filename}.${extension}`)
return fileUrl
}
static async upload(rc : RunContextServer, bucketName: string, filePath : string, destination : string) : Promise<string> {
const bucket : any = cloudStorage.bucket(bucketName),
data : any = await bucket.upload(filePath, {destination})
return data[0].metadata.name
}
你有沒有找到辦法做到這一點?我也想用JSON數據做同樣的事情。 – Peza
我發佈了我使用的解決方案,對於延遲抱歉。 –