jqgrid - upload a file in add/edit dialog
I'm new to jqgrid and I have lear开发者_JAVA百科n many things through your answer.
Now I have a problem: I want to upload files when adding or modifying records to a jqgrid? This is my code:{
name: 'File',
index: 'file',
hidden: true,
enctype: "multipart/form-data",
editable: true,
edittype: 'file',
editrules: {
edithidden: true,
required: true
},
formoptions: {
elmsuffix: '*'
}
}
However the field I got in controller always be null :(. Any suggestion
Anyone know working example?
Thanks in advance
UPDATE
I have found a very good example at http://tpeczek.codeplex.com/releasesI got it working just yesterday..here's my colModel column for file upload,
{
name: 'fileToUpload',
index: 'customer_id',
align: 'left',
editable: true,
edittype: 'file',
editoptions: {
enctype: "multipart/form-data"
},
width: 210,
align: 'center',
formatter: jgImageFormatter,
search: false
}
You have to set afterSubmit: UploadImage. It uploads the file only after data has been post & response has come back. I'm checking here that if insert was succesfful then only start upload else show error. I've used Jquery Ajax File Uploader.
function UploadImage(response, postdata) {
var data = $.parseJSON(response.responseText);
if (data.success == true) {
if ($("#fileToUpload").val() != "") {
ajaxFileUpload(data.id);
}
}
return [data.success, data.message, data.id];
}
function ajaxFileUpload(id)
{
$("#loading")
.ajaxStart(function () {
$(this).show();
})
.ajaxComplete(function () {
$(this).hide();
});
$.ajaxFileUpload
(
{
url: '@Url.Action("UploadImage")',
secureuri: false,
fileElementId: 'fileToUpload',
dataType: 'json',
data: { id: id },
success: function (data, status) {
if (typeof (data.success) != 'undefined') {
if (data.success == true) {
return;
} else {
alert(data.message);
}
}
else {
return alert('Failed to upload logo!');
}
},
error: function (data, status, e) {
return alert('Failed to upload logo!');
}
}
) }
精彩评论