Node调用接口时候能传图片文件到body吗

Node调用接口时候能传图片文件到body吗,第1张

现在是有这么一个上传图片的接口,我想通过node的http模块,调用上传图片的接口,将图片上传到接口的服务器。但是现在遇到这么一个困惑,不知道图片该以文件流还是base64或者其他形式添加,然后怎么添加到请求的主体内容里面去呢?网页上的话form表表单添加的是在主体里的。下面是代码:

var http = require("http")

var options = {

hostname: "host",

port: 80,

path: "接口路径",

method: 'POST',

headers: {

"url": "图片链接",

"Content-Type": "image/jpg",

}

}

var req = http.request(options, function (res) {

var data

console.log(req)

res.on("data", function (chunk) {

data += chunk

}).on("end", function () {

console.log(data)

})

})

req.end()

1.Node服务器端监听端口及开启端口处理事件需引入 http 模块。在Node中 引入其他模块文件方法为: require(模块名称)。

2.Node中服务器简单处理还需引入的模块有 fs(文件操作模块)、url(路径处理模块)等。

代码

service.js

//引入http模块

var http = require('http')

//引入fs模块

var fs = require('fs')

//引入url模块

var url = require('url')

//开启本地http服务,监听相应端口号

http.createServer(function(req,res){

//获取requset信息中的host地址

var hostname = req.headers.host

//获取pathname

var pathname = url.parse(req.url).pathname

//判断是否为域名地址(简单路由)

if(pathname === '/'){

readFileAndResponse('/index.html',res)

}

}).listen(端口)

//读取文件并返回response

function readFileAndResponse(pathname,response){

//判断文件是否存在

fs.readFile(pathname.substr(1),'',function(err,data){

//文件不存在或读取错误返回404,并打印page not found

if(err){

response.writeHead(404)

response.end('page not found')

}

else{

//读取成功返回相应页面信息

response.end(data)

}

})

}

复制代码

1.打开终端,进入service.js所在位置要是同一目录。

注:不在service同目录执行也会成功,但根据页面的配置及目录分布不同,容易出现css及js样式无法显示。

2.运行 node service.js 。

3.在浏览器中输入:127.0.0.1:端口号 ok,页面成功指向inde.html 。

web服务器中:网址/公网IP:端口号,就可以被外网访问。

首先要声明一点,本文讲的是使用node上传文件到远程服务器的,比如说我们可以使用node上传图片到CDN。如果小伙伴想看的是node服务如何接收客户端上传的文件,那么你不用往下看了。

在前端项目中,我们常用的办法是使用 input 元素选择文件,然后构建 js FormData类的实例,并调用append方法将文件添加到FormData实例中,然后使用ajax库发起ajax请求上传文件即可。

那么在node里面有什么不一样呢?

完成以上工作就可以使用ajax库上传文件到服务端了!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/279088.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存