【问题标题】:something about request(url).pipe()关于 request(url).pipe()
【发布时间】:2017-04-17 06:25:32
【问题描述】:

当我使用request(url).pip(fs.createWriteStream("1.jpg"))时,url包含一些特殊代码,如“@”和“×”,那么NODE.js无法创建jpg图片,如果我创建http文件服务,使用没有特殊代码的url,我可以正确获取jpg图片。有人可以告诉我如何处理 url 中的这些特殊代码吗? 非常感谢!

【问题讨论】:

    标签: node.js request node-request


    【解决方案1】:

    您应该提供代码,但我已经为您尝试了此代码。

    const fs = require('fs')
    const http = require('http')
    
    const request = require('request')
    
    let url = 'https://upload.wikimedia.org/wikipedia/en/8/8a/Text_placeholder_image.jpg' // some jpg
    
    request(url).pipe(fs.createWriteStream('1.jpg'))
    
    http.createServer((req, res) => {
      fs.readFile('1.jpg', (error, content) => {
        if (error) {
          // handle error
          return
        }
    
        res.writeHead(200, 'image/jpeg')
        res.end(content, 'utf-8')
      })
    }).listen(3000)
    

    然后,localhost:3000 运行良好。

    使用node v6.10.2request v2.81.0

    【讨论】:

    • 非常感谢。我使用函数 encodeURL(url) 来解决我的问题。
    猜你喜欢
    • 2013-09-27
    • 2012-01-18
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多