我有表格,除了其他字段外,还有文件下拉和文件浏览器按钮。当用户上传文件并单击该按钮时,将进行Ajax调用并将文件提交给控制器。 Javascript显示文件,但在控制器中它是空的。
HTML:
<label for="selectEnclosure" style="margin-left:8%; ">Select an Enclosure:</label>
<select id="templateEnclosuresDropDown" class="validate[required] input_user" style="width:25%" title="Select>Enclosure"</select>
<c:forEach items="${templateEnclosures}" var="templateDDEnclosure" varStatus="loopStatus">
<c:if test="${templateEnclosure.enclosureType.name!='Default'}"> {
<option value="${templateDDEnclosure.persistentId}"> ${templateDDEnclosure.enclosure.name} </option>
</c:if>
</c:forEach>
<option value="0">Additional Enclosure</option>
Ajax电话:
userhome.upload = function() {
alert(" pelae sai");
var form=$('<form></form>');
form.attr("method", "post");
form.attr("action", SECURE_CONTEXT_PATH_ROOT + "/letter/melletter/uploadEnclosure")
form.processData()
var field =$('<input></input>');
field.attr("enclosureFile", $('#enclosureFile').prop('files')[0]);
field.attr("enclosurename" ,$('#templateEnclosuresDropDown :selected').text());
field.attr("templateId",$("#codeNameId").val());
var url = SECURE_CONTEXT_PATH_ROOT + '/letter/melletter/uploadEnclosure';
$(document.body).append(form);
form.submit();
}
答案 0 :(得分:0)
首先要做的是将此属性添加到表单元素:
enctype="multipart/form- data"