I tried to follow some examples from stackoverflow and a few blogs. But I can't get a file uploaded.
I have a form like this:
<form enctype="multipart/form-data">
<input type="hidden" id="viewport" name="viewport" value="1">
<input type="hidden" id="idinfo" name="idinfo" value="-1">
<input type="file" id="filename" name="filename" value="">
<select id="cbTipe" name="cbTipe" onchange="ChangeType()">
<option value="1">Text</option>
<option value="2">Text & Foto</option>
<option value="8">Video</option>
</select>
<button type="button" name="btnClear" onclick="ClearForm();">Bersihkan Form</button>
<button type="button" name="btnSimpan" onclick="SubmitForm();">Simpan</button>
</form>
And JavaScript code like this:
function SubmitForm()
{
data = $("form input").serialize();
aFormData = new FormData($("form *"));
aFormData.append("filename", data[2]);
$("form input").each(
function(i)
{
aFormData.append($(this).attr("name"), $(this).attr("value"));
}
);
$("form select").each(
function(i)
{
aFormData.append($(this).attr("name"), $(this).attr("value"));
}
);
$.ajax(
{
url : the_url + "/form_action",
type : "POST",
contentType : false,
processData : false,
data : aFormData,
dataType : "json",
success :
function(data)
{
if(data['status'] == 'ok')
{
RefreshList(data['html'])
}
else
{
alert("Error on FormAction")
}
ClearForm();
}
}
);
}
And a Grails code like this:
def test = request.getFile('filename').getName()
The problem is, I always fail to get
request.getFile('filename').getName()
request.getFile('filename') returns null.
What am I missing here?