node.js - 关于 request(url).pipe() 的一些事情

标签 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 = 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.2请求 v2.81.0

关于node.js - 关于 request(url).pipe() 的一些事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43446264/

相关文章:

node.js - 如何使用 2048 位的 Diffie-Hellman 来创建密码?

node.js - NodeJS HTTP 发布 - GZip

objective-c - URL GET/POST 请求 objective-c

image - Expo Jest 找不到类似 'file@2x.png' 的图像

javascript - Express js app.get 回调中如何获取多个独立的响应数据

javascript - NodeJS 应用程序的良好开源示例?

node.js - 配置对 Google 我的商家 API 的请求以避免未经身份验证的错误

javascript - 使用 Node.js 应用程序中的 Request 模块发出 API 请求

javascript - 在异步请求结束之前,Lambda 函数不会返回

javascript - 如何在不保存的情况下创建水线模型的新实例