2017-04-13 29 views
1

我正在使用雲存儲,並且運行良好,我只是不想每次都返回完整大小的圖像。我想知道是否有方法來指定一個寬度來調整圖像的大小,當我請求它?如何使用Node API從Google雲端存儲中返回指定的圖片大小?

這是工作代碼。我只需要返回較小的圖像,例如300px寬(保持原始寬高比)。這個數字可能會改變或波動,所以我不想保存大量不同的版本,除非我絕對必須。

var fileName = "Image.png"; 

var stream = bucket.file(fileName).createReadStream(); 

res.writeHead(200, { 'Content-Type': imageInfo.mime_type }); 

stream.on('data', function (data) { 
    res.write(data); 
}); 

stream.on('error', function (err) { 
    console.log('error reading stream', err); 
}); 

stream.on('end', function() { 
    res.end(); 
}); 

我發現這個網站,說明如何在PHP中做到這一點,所以我猜有可能是一種方式,節點做到這一點?

https://cloud.google.com/appengine/docs/standard/php/googlestorage/images

回答

2

這篇文章應該讓你過上右腳:「上傳,調整和服務與谷歌雲平臺的圖像」 @Lipis https://medium.com/google-cloud/uploading-resizing-and-serving-images-with-google-cloud-platform-ca9631a2c556

+1

這使得一噸的意義公開網址,礦井發生是私人的,這就是爲什麼我要直接通過節點API來做到這一點。 –

+0

他們是不是私人的,因爲他們不能沒有身份驗證,或他們只是公開閱讀? –

+0

如果沒有身份驗證,則無法查看它們。每張圖片都受到保護(不僅僅是一個祕密鏈接,而且用戶必須先登錄才能看到圖片)。 –

相關問題