我想伪造json-server的以下POST请求:
const event: ChangeEvent<HTMLInputElement> = ...
const files = event.target.files!!
const formData = new FormData()
for (let i = 0; i < files.length; i++) {
formData.append("files[]",files[i])
}
const response = await fetch(IMAGES_URL,{
method: "POST",body: formData
})
我想在中间件Javascript中拦截传输,将接收到的上载文件(一个或多个图像)的数据存储在内存或临时文件中,并在另一条路径上提供服务。
我尝试使用中间件Javascript访问上传的数据,例如与formidable
:
module.exports = (req,res,next) => {
new formidable.IncomingForm().parse(req,function(err,fields,files) {
if (err) {
next(err);
return;
}
if (files) {
// do something with files,but what?
}
}
}
files
提供了我仔细检查过的File
个对象,但是我没有找到我认为适合访问要存储的数据的任何方法或属性。我尝试了formidable
的替代方法,例如busboy
,实际上产生了相同的结果。我了解了FileReader
,它是中间件Javascript中的undefined
。
我从json-server
开始./node_modules/.bin/json-server --watch json-server-data/data.json --middlewares json-server-data/middleware.js --port 3001
。我使用伪造品的项目是React + Typescript和香草JS中的中间件。
我知道该软件被称为“ json-server”,而不是“ binary-data-server”,但是中间件似乎可以访问请求和响应属性的完整集合,因此我天真的假设它可以完成。