亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用node.js下載圖像

使用node.js下載圖像

慕姐8265434 2019-11-05 11:23:27
我正在嘗試編寫腳本以使用node.js下載圖像。這是我到目前為止的內容:var maxLength = 10 // 10mbvar download = function(uri, callback) {  http.request(uri)    .on('response', function(res) {      if (res.headers['content-length'] > maxLength*1024*1024) {        callback(new Error('Image too large.'))      } else if (!~[200, 304].indexOf(res.statusCode)) {        callback(new Error('Received an invalid status code.'))      } else if (!res.headers['content-type'].match(/image/)) {        callback(new Error('Not an image.'))      } else {        var body = ''        res.setEncoding('binary')        res          .on('error', function(err) {            callback(err)          })          .on('data', function(chunk) {            body += chunk          })          .on('end', function() {            // What about Windows?!            var path = '/tmp/' + Math.random().toString().split('.').pop()            fs.writeFile(path, body, 'binary', function(err) {              callback(err, path)            })          })      }    })    .on('error', function(err) {      callback(err)    })    .end();}但是,我想使它更強大:有圖書館這樣做并且做得更好嗎?響應頭是否有可能說謊(關于長度,關于內容類型)?我還應該關注其他狀態代碼嗎?我應該麻煩重定向嗎?我想我在某處讀到了binary編碼將被棄用。那我該怎么辦?我怎樣才能在Windows上使用它?還有其他方法可以使此腳本更好嗎?原因:對于類似于imgur的功能(用戶可以給我一個URL),我下載了該圖像,然后以多種尺寸重新托管該圖像。
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 662 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號