跳到主要内容
CNode

request 请求zip链接后保存为.zip,解压不了

问答
Zzhoushx3发布于 10 年前最后回复 10 年前
541320

var rp = require('request-promise') var fs = require('fs')

rp('http://.....a.zip').then( body => { fs.writeFile('a.zip', body, null, err => { if (err) { console.error(err) } }) }) 如上,request了一个zip链接后把body写入到a.zip文件后,a.zip无法解压。直接下载该链接是可以解压的。 这里是什么问题,encoding?

查看回复

回复 (5)

S
stonephp#510 年前
Z
zhoushx3#410 年前
引用 stonephp这个直接就是 request 文档中的例子,看这个你应该就明白了。

@stonephp 多谢指引,这里在request的时候应该加上 encoding: null. 如request文档说的:

Note: if you expect binary data, you should set encoding: null

所以我这里改成如下就ok了: rp({ url: ‘http://…a.zip’, encoding: null })

S
stonephp#310 年前
request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))

这个直接就是 request 文档中的例子,看这个你应该就明白了。

Z
zhoushx3#210 年前
引用 stonephp用流的方式,你这么弄不行的

@stonephp 请教下,那该怎么处理,不用流的方式

S
stonephp#110 年前

用流的方式,你这么弄不行的

参与回复

登录后即可参与回复。登录