formidable在windows中的注意事项

formidable是一个express中间件,用于文件上传。

网上关于formidable的使用示例在windows环境下很容易出现问题,现整理注意事项如下:

1、文件上传路径设置问题。

    网上的代码多是如下这样:

var form = new formidable.IncomingForm();
form.uploadDir = "public/images";

   windows环境下,路径应该使用反斜杠,如下:

var form = new formidable.IncomingForm();
form.uploadDir = "public\\images";

2、保留文件扩展名设置问题。

    formidable默认不保留上传文件的扩展名,如果需要保留扩展名,需进行设置。网上的设置方式如下:

 const form = new formidable.IncomingForm();
 form.keepExtensions = true;//保存扩展名

   实际使用中,发现这个设置并不生效。查看formidable(2.0.1版本)源码后,发现应该像下面这样设置才行。

  const form = new formidable.IncomingForm();
  form.options.keepExtensions = true;

   或者这样设置。

const form = new formidable.IncomingForm({keepExtensions:true});

这个现象应该和windows环境无关,猜测是formidable版本不同导致的。

formidable部分源码如下:

 

 

 

posted @ 2022-05-12 10:30  黎明之曙光  阅读(149)  评论(0编辑  收藏  举报