由于笔者要实现一个图片上传功能,在百度的帮助下还这折腾了2天,在这里写下自己的经验,供有需要的看看:
1、首先,需要安装multiparty包,网上还有别的,尝试了不少,最后建议还是使用这个好点。
前端,在表单form下加上:
<input type="file" class="file">
注意要给form赋action属性,enctype要改为:multipart/form-data
后端,可以这样实现:
function_name(req,res,next)
{
var form = new multiparty.Form();
//路径设置,要保证存在/images路径'
form.uploadDir="./images"
//上传完成后处理
form.parse(req, function(err, fields, files){
var filesTmp = JSON.stringify(files,null,2);
if(err) {
console.log(err)
}
else{
//可以看下输出信息,需要复制或者改名的,推荐使用fs-extra包
console.log('parse files: ' + filesTmp);
}
})
}
完成后,就可以看到image文件夹已经有你需要的文件了
2、如果嫌弃上传的视图难看,可以使用插件Bootstrap Fileinput,非常不错。
有两个参考的链接:https://www.cnblogs.com/landeanfen/p/5007400.html
https://blog.csdn.net/lizijie7471619/article/details/74562638
这样搞完差不多就能实现了。
有问题欢迎联系:823123616@qq.com