Jquery 如何在jqGrid中支持文件上传?
我的web应用程序基于ASP.net MVC3并使用jqGrid。我一直在支持jqGrid所需的文件上传功能 web应用程序useflow允许用户在其系统上选择一个文件,并从jqGrid添加/编辑表单将其上载到数据库记录。用于文件上载的jqGrid colModel的编辑类型设置为Jquery 如何在jqGrid中支持文件上传?,jquery,asp.net-mvc,asp.net-mvc-3,file-upload,jqgrid,Jquery,Asp.net Mvc,Asp.net Mvc 3,File Upload,Jqgrid,我的web应用程序基于ASP.net MVC3并使用jqGrid。我一直在支持jqGrid所需的文件上传功能 web应用程序useflow允许用户在其系统上选择一个文件,并从jqGrid添加/编辑表单将其上载到数据库记录。用于文件上载的jqGrid colModel的编辑类型设置为edittype:“文件”。在添加/编辑表单中,我可以查看“浏览…”按钮以选择图像。jqGrid文档建议使用Ajax文件上传插件进行文件上传。我找到了两个同名的插件,两个都试过了 Ajax文件上传插件来源:该插件与jq
edittype:“文件”
。在添加/编辑表单中,我可以查看“浏览…”按钮以选择图像。jqGrid文档建议使用Ajax文件上传插件进行文件上传。我找到了两个同名的插件,两个都试过了
var uploader = new qq.FileUploader({
element: fileUploader,
action: @Url.Action("UploadProductImage"),
allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'], )};
Robert我的解决方案是编写自己的非常短的HandleError函数,并且仍然使用Ajax文件上传插件,如中所述。因此,我使用该解决方案,但添加了以下功能:
jQuery.extend({
handleError: function( s, xhr, status, e ) {
// If a local callback was specified, fire it
if ( s.error )
s.error( xhr, status, e );
// If we have some XML response text (e.g. from an AJAX call) then log it in the console
else if(xhr.responseText)
console.log(xhr.responseText);
}
});
我在这里找到了函数:
注意:还有一件事:我不得不改变路线
dataType: 'json',
到
为了让代码在Firefox中工作(在其他浏览器中,这应该不是问题)。这可能是一个很好的副本-但是我应该把$.extend({…})函数放在哪里?在调用任何其他JQuery功能之前,我把它放在javascript的顶部,就在text/javascript标记的下面。它是一个独立的javascript函数;不必嵌入到其他函数中。
dataType: 'JSON',