【发布时间】: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
当我使用request(url).pip(fs.createWriteStream("1.jpg"))时,url包含一些特殊代码,如“@”和“×”,那么NODE.js无法创建jpg图片,如果我创建http文件服务,使用没有特殊代码的url,我可以正确获取jpg图片。有人可以告诉我如何处理 url 中的这些特殊代码吗? 非常感谢!
【问题讨论】:
标签: node.js request node-request
您应该提供代码,但我已经为您尝试了此代码。
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 和request v2.81.0。
【讨论】: