如果没有提供文件名,Multer会挂起

我想看看我的服务器是如何运行的,如果我没有提供一个文件名,当上传一个图像,而m只是挂起。 有什么方法让我可以让超时吗? 或在错误的表单上抛出错误? 这很容易造成DoS攻击,这就是我担心的原因。

以下是我发送的多部分头文件,有意省略文件名:

 String header = "--" + boundary + LINE_FEED + // "Content-Disposition: form-data; name=\"" + field_name + "\"; filename=\"" + "bitmap.jpg" + "\"" + LINE_FEED + "Content-Disposition: form-data; name=\"" + field_name + "\"" + LINE_FEED + "Content-Type: " + content_type + LINE_FEED + "Content-Transfer-Encoding: binary" + LINE_FEED + LINE_FEED; 

这是我的服务器代码挂起。 before upload打印before uploadbefore upload after uploadError语句打印出来:

 const Upload = multer( my_multer_options ); //makes use of multer's fileFilter which isn't even touched when a filename isn't provided. const uploadFiles = Promise.promisify( Upload.fields([{name: "image", maxCount: 1}]) ); try { console.log( "before upload" ); //prints await uploadFiles(context.req, context.res); console.log( "after upload" ); //never prints } catch ( error ) { console.log( "Error: " + error ); //never prints }