jQuery .click() を使用してファイルをアップロードしようとしています。コントローラーで request.getParameter() を実行すると、ファイル名のみが取得されます。さらに、ファイル名だけでそのファイルを読み取ることはできません。しかし、フォームにアクションを使用すると、ファイルのオブジェクトが取得されます。しかし、私は自分のフォームにアクションを使用したくありません。
私のhtmlは -
$(document).ready(function(){
$('#submitId').click(function(){
var url=$("#urlId").val();
var xsl=$("#xslId").val();
alert(xsl);
$.post('add.htm', {
url:url,
xsl:xsl
},function(data){
alert("done");
});
});
});
<form:form commandName="domTool" enctype="multipart/form-data"
method="POST" >
URL :
<form:input path="url" id="urlId"/>
Xsl File :
<form:input type="file" id="xslId" path="file" />
<input type="button" value="Submit" id="submitId"/>
</form:form>
そして私のJavaコードは -
@RequestMapping("add")
public String add(@ModelAttribute("tool") DomTool domTool,HttpServletRequest request,HttpServletResponse response) throws JDOMException, IOException{
System.out.println("file---------- "+tool.getFile());
System.out.println("Url---------- "+domTool.getUrl());
return "success";
}
URL の値を取得していますが、domTool.getUrl() に対して null を取得しています。
誰か助けてください。
ありがとうございました。