上传文件+如何获取下拉框的信息,卡住了,求助 - CNode技术社区

上传文件+如何获取下拉框的信息,卡住了,求助
发布于 11 年前 作者 inosqlorg 5078 次浏览 最后一次编辑是 9 年前 来自 问答

需求是选择相册,然后上传图片到相册。 app.js,使用multer

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true}));

页面

<form id="form" method="post" action="/upload" >
 <p>
 <span >选择相册:</span>
 <select name="album">
 <%
 var albumValue = albums[0]._id;
 if (typeof(album) !== 'undefined') {
 albumValue = album;
 }
 albums.forEach(function (album) {
 console.log(album);
 var albumId = album._id;
 var albumName = album.name;
 %>
 <option value="<%=albumId%>" <%= albumValue === albumId ? 'selected': '' %>><%=albumName%></option>
 <%});%>
 </select>
 	</p> 
	<div id="uploader">
		<p>Your browser doesn't have Flash, Silverlight or HTML5 support.</p>
	</div>
	<br />
</form>

后端:

exports.upload = function (req, res){
 console.log("req.body:"+JSON.stringify(req.body));
};

log: POST /upload - - ms - - req.body:{"name":"Chrysanthemum.jpg","chunk":"0","chunks":"1"}

问题是后端如何获取下拉框选中的album的信息呢?

6 回复

有人了解么?

你前端先获取到下拉框的数据,然后通过js提交呗。

@shinygang 要多一次提交?不能和上传文件的合并起来?

@inosqlorg 你选择了文件,然后点提交呗,或者你那个选择文件框改变事件调用js提交

@shinygang 文件提交只有文件的信息的。

@inosqlorg 用formdata装你要提交的数据,包括文件信息和其他数据。 例如: var data = new FormData(); var files = $("#thumbnail")[0].files; if (files) { data.append("thumbnail", files[0]); } data.append("startTime", $("#txtStart").val()); data.append("endTime", $("#txtEnd").val());

回到顶部

AltStyle によって変換されたページ (->オリジナル) /