xyhthink

使用指南,将此文件放入be文件夹下,会自动创建出uploads文件。

需要用到的模块 form-data request 自行yarn

思路:

  1. 向拉勾网接口发送请求来mock数据
  2. 对返回的数据进行遍历
  3. 对图片地址进行清洗,使其变成****.jpg/png格式,利于对图片地址的请求以及文件名的控制
  4. 然后图片请求转存到本地文件夹等待进一步调用
  5. 待图片流传输完成后生成form表单向自己的接口提交。

上代码!

1
2
3
4
// 需要引用的模块
const request = require("request");
const fs = require('fs');
const FormData = require('form-data');
1
2
3
4
// 创建uploads文件夹存储下载的图片  这里只是暂存下的图片
if (!fs.existsSync('./uploads')) {
fs.mkdirSync('uploads')
}
1
2
3
// 初始化一些值
let num = 5 // 输入多少页来确定mock多少页的数据
let imgurl = 'https://www.lgstatic.com/' // 用来补全img的地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
for (var i = 1; i <= num; i++) { // 循环页数获取接口数据
var url = `https://m.lagou.com/listmore.json?pageNo=${i}&pageSize=15` // 拉勾网接口

request(url, function(err, res, body) {
let data = JSON.parse(res.body).content.data.page.result // mock拉勾网数据
data.forEach((item, index) => {
// 对图片的url进行清洗整理
let logoUrl = item.companyLogo.split('/')[item.companyLogo.split('/').length - 1]
logoUrl = logoUrl.split('?')[0]
console.log(logoUrl)
// 获取图片的文件流,待每张图片写入本地文件夹后开始表单操作
request.get(imgurl + item.companyLogo)
.pipe(fs.createWriteStream(`./uploads/${logoUrl}`))
.on('close', function() {
// 组成form-data
let form = new FormData();

form.append('companyLogo', fs.createReadStream(`./uploads/${logoUrl}`));
form.append('city', item.city);
form.append('companyName', item.companyName);
form.append('positionName', item.positionName);
form.append('salary', item.salary);

// 生成头部
var headers = form.getHeaders();
// 添加你的x-access-token信息
headers['x-access-token'] = 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNTY2ODg5NDI2fQ.bjoEUEhino4j9QKsHwD55MaolXV1RMab1gpNSdE6oqdhULaqsB3reNblOs5KCs8Gjv3h86lmAMU6_UsBfvnwBfVpmZgkzKI7FUtdJL0CE-E0KISpSlIJdF6dpZr0hC0nJnvNyUb_SV_Cei3ANLFWWhKq6Mdz3iacn1ITLgnFg_9JKVapC3ZKaa1lAu-7XfoLNoQS-ivohO4bKu5y88PtDPqWfb4lWlG4L3Dy06K-_cvOSys7RnUce79N9Df03ymLEnjfn9A1mxCi4r94UFSH9eJqT9Y3sMBD4aIZWQeokq0tm-Q2m4pbzbSRsf6y0KVuK-hV5XnKRO5_QDmwpGMJnw'

// 模拟表单提交
form.submit({
host: '10.60.15.78', // 填写你的前端!!服务器ip地址和端口号
port: 8000,
method: 'POST',
path: '/api/position/save', // 这里改成你自己的
headers: headers // 头部添加
}, function(err, res) {
console.log(res.statusCode);
})
form = null
})
})
})
}

 评论


Power by Yuhangxie , 总访问量为 次 。
载入天数...载入时分秒...
京ICP备19024986号