首页 新闻 会员 周边

node.js接受参数

0
悬赏园豆:10 [待解决问题]

node.js如何接收<form   enctype =multipart/form-data  >传入的参数

<form enctype ="multipart/form-data" action="http://192.168.0.10:3000/addSale" method="post">
<label><b>商品名称 :</b></label>
<input type="text" id="salename" name="salename" maxlength="20" />
<label><b>商品价格 :</b></label>
<input type="text" id="name" name="price" maxlength="20" />(¥)
<label><b>商品详情:</b></label>
<textarea id="name" name="desc" class="textarea"></textarea>
<label><b>起拍时间 :</b></label>
<input type="text" id="name" name="start" maxlength="20" id="datetimepicker_start" />
<label><b>结束时间 :</b></label>
<input type="text" id="name" name="end" maxlength="20" id="datetimepicker_end" />

<label><b>图片 :</b></label>
<input type="file" id="name" name="img" value=""/>(jpg/png小于2M 300*300)

<input class="button" type="submit" name="btnSubmit" value="添加" />

</form>

为什么我用req.body.salename接受不到参数

zhenhp的主页 zhenhp | 初学一级 | 园豆:200
提问于:2014-12-24 19:03
< >
分享
所有回答(1)
0

去掉这个 enctype ="multipart/form-data" 就可以访问了

绿茶叶 | 园豆:203 (菜鸟二级) | 2014-12-26 13:14

post方式(enctype为multipart/form-data,多用于文件上传) 
表单数据都保存在http的正文部分,各个表单项之间用boundary隔开。格式类似于下面这样:用request.getParameter是取不到数据的,这时需要通过request.getInputStream来取数据,不过取到的是个InputStream,所以无法直接获取指定的表单项(需要自己对取到的流进行解析,才能得到表单项以及上传的文件内容等信息)。这种需求属于比较共通的功能,所以有很多开源的组件可以直接利用。比如:apache的fileupload组件,smartupload等。通过这些开源的upload组件提供的API,就可以直接从request中取得指定的表单项了。 

支持(0) 反对(0) 绿茶叶 | 园豆:203 (菜鸟二级) | 2014-12-26 13:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册