Node.js 关于请求(url.pipe()的内容

Node.js 关于请求(url.pipe()的内容,node.js,request,node-request,Node.js,Request,Node Request,当我使用request(url).pip(fs.createWriteStream(“1.jpg”))时,url包含一些特殊代码,如“@”和“×”,则NODE.js无法创建jpg图片,如果我创建http文件服务,使用没有特殊代码的url,我可以正确获得jpg图片。有人能告诉我如何处理url中的这些特殊代码吗? 多谢各位 您应该提供代码,但我已经为您尝试了此代码 const fs = require('fs') const http = require('http') const request

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

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

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
运行良好


已使用
节点v6.10.2
请求v2.81.0

非常感谢。我使用函数encodeURL(url)来解决我的问题。