brookshi / Hitchhiker

a Restful Api test tool
http://www.hitchhiker-api.com
Other
2.19k stars 402 forks source link

希望增加图片上传功能 #276

Closed qa2080639 closed 2 years ago

qa2080639 commented 5 years ago

这个框架很用,脚本强大, 但是在param中没有像postman一样有选择文件上传的选项 自己想在script中写了一段脚本上传的代码,但是到服务器读取到的是错误图片,无法识别,不懂是我代码问题还是框架问题 代码如下: const request = hitchhiker.require('request'); // hitchhiker在脚本里可以简写为 hkr function upload() { return new Promise((resolve, reject) => { const r = request.post({ url: "xxxxx", headers: { 'certificate': 'license' }, }, (err, res, body) => { resolve({ err: err, response: res, body: body }); }); var form = r.form(); form.append('files', hitchhiker.readFile('zhizhao.jpg'), {filename: 'zhizhao.jpg'}); console.log(r); }); }

const res = await upload(); // MUST use async/await

qa2080639 commented 5 years ago

刚刚测试了一下 这段代码原生node是可以正常上传识别的 环境: Windows server 2016 Hitchhiker: 0.14 Node: 10.14

c2498168786 commented 4 years ago

我今天使用自己封装的lib 上传到自定义脚本库, 然后上传也不行。确实希望做成跟postman,求作者更新下去哈哈。 代码如下:

` const req = hitchhiker.request; const {url, headers, method, body} = req;

var FormData = hitchhiker.require('form-data'); //自定义脚本 var form = new FormData(); var fs = hitchhiker.require('fs'); // 因为不能直接使用fs,自定义脚本fs上传 form.append('file', fs.createReadStream('D:/aaaaa.txt')); console.log(form); // form.append('my_file', '111111'); console.log(form); // 可以输出文件流

let options = { method: 'POST', headers : {'Content-Type':'multipart/form-data'}, url: url + '?t=5a' + new Date().getTime(), formDatas:form }; hitchhiker.setRequest(options);

//然后请求报500了 `