1、request 支持流模式,管道流pipe,抓取图片并保存就很方便了
request('https://s.gravatar.com/avatar/184a1f14c759795b94ae1d01b23cc9c7') .pipe(fs.createWriteStream('./doodle.jpg'))
2、浏览器中自带支持FormData数据类型,
var formData = new FormData()
node环境可以用依赖第三方“form-data”,创建 "multipart/form-data"
streams,用来做 submit forms 和资源上传 upload file
var FormData = require('form-data'); var fs = require('fs'); var form = new FormData(); form.append('my_field', 'my value'); form.append('my_buffer', new Buffer(10)); form.append('my_file', fs.createReadStream('/foo/bar.jpg'));
3、uri与url都支持
request({ method: 'POST', url: uploadUrl,//uri url 都支持 formData })
【原则】nice-upload 资源上传 与 nice-static-server 上传文件接收并展示
1、可以上传文件夹
2、同名同路径的话,新文件会覆盖老文件
3、不可以上传 dir1/file 这样没有文件后缀的文件,因为在文件创建的时候,会去根据路径创建文件夹,而没有文件后缀会被误认为文件夹,导致文件服务器出现脏文件,所以这种一律以报错处理
4、nice-upload 在headers要传两个参数,file-path(必须传) 、 file-prefix(非必传),服务端依赖这两个参数,保存文件
'file-path': filePath,
'file-prefix': prefix && filePath.replace(targPathOrg, prefix) || ''