直接给下Node.js后端两种文件上传方式、后端服务接收保存文件,以及后端文件下载的具体代码实现。
一、Node.js后端文件上传
这边注意下,如果出现以下错误
Error: socket hang up
检查下上传的后端接口是不是用https,之后修改下引入的http对象为https。
1)使用FormData上传文件
var FormData = require('form-data')//如果后端用的是https,这边引入的是http就会报socket hang up异常。var http = require('https');//调用示例:let form = new FormData();var uploadLoadFilePath = "../../test.zip"form.append("filename", fs.createReadStream(uploadLoadFilePath))uploadRequest("test.cn", "8080" '/api/upload/file', form, 'POST').then(function (result) {
}).catch(function (err) {
})/** * 上传文件或者请求数据都可以用这个方法处理 */function uploadRequest(host, port, path, body, method){
return new Promise(function (resolve, reject) {
var option = {
hostname: host, port: port, path: path, method: method ? method : 'GET', headers: {} }; var data = null; if (body) {
if (body instanceof FormData) {
option.method = 'POST'; option.headers = body.getHeaders() data = body } else {
if (typeof(body) == 'string') {
data = body } else {
data = JSON.stringify(body) } option.method = 'POST'; option.headers["Content-Length"] = Buffer.byteLength(data, 'utf8'); option.headers["Content-Type"] = 'application/json';