簡體   English   中英

Node.js 帶帶寬限制的圖像下載

[英]Node.js image download with bandwidth limit

我目前正在測試我的 discord 機器人的 reddit 圖像下載功能。 下面的代碼只是一個用於測試的腳手架。 我想知道是否有辦法從請求響應中限制或限制圖像下載的帶寬。 圖像只下載一次。

我已經使用了來自 npm 的不同請求模塊,例如superagent及其插件,但它們都不起作用。 我還發現了模塊ratelimit但這很舊(最后一次提交 2012)並且只支持 http-requests(沒有 https)。

var request = require('request')
var fs = require('fs')

request('https://upload.wikimedia.org/wikipedia/commons/6/60/Eol.jsc.nasa.gov_ESC_large_ISS005_ISS005-E-16279.JPG')
    .on('response', (response) => {
        // limitBandwidth()
    })
    .on('data', (data) => {
        
    })
    .pipe(fs.createWriteStream('test.jpg'))

它與模塊節流閥一起使用。 您只需要在實際的 createWriteStream 管道前通過油門。

var request = require('request')
var fs = require('fs')
var Throttle = require('throttle');


var throttle = new Throttle(1024 * 1024 / 2)

request('https://upload.wikimedia.org/wikipedia/commons/6/60/Eol.jsc.nasa.gov_ESC_large_ISS005_ISS005-E-16279.JPG')
    .on('response', (response) => {
        
    })
    .on('data', (data) => {
        
    })
    .pipe(throttle).pipe(fs.createWriteStream('test.jpg'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM