C# 使用asp.net通用处理程序和extjs上载文件
我正在使用ExtJS将文件上传到服务器。我正在使用ASP.Net通用处理程序。我可以上传文件,但无法在客户端获得响应。在客户端,它总是抛出一个错误。错误说明为空。以下是处理程序的代码:C# 使用asp.net通用处理程序和extjs上载文件,c#,asp.net,extjs,extjs4,C#,Asp.net,Extjs,Extjs4,我正在使用ExtJS将文件上传到服务器。我正在使用ASP.Net通用处理程序。我可以上传文件,但无法在客户端获得响应。在客户端,它总是抛出一个错误。错误说明为空。以下是处理程序的代码: public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; string path = HttpContex
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json";
string path = HttpContext.Current.Server.MapPath(".\\FileUpload");
string uniqueFileName = Guid.NewGuid().ToString().Replace("-", "").ToUpper().Trim();
string fileName = context.Request.Files["UploadedFile"].FileName;
string fileExtension = fileName.Substring(fileName.IndexOf("."));
context.Request.Files["UploadedFile"].SaveAs(path + "\\" + uniqueFileName + fileExtension);
context.Response.Write("File uploaded");
}
以下是我在客户端编写的代码:
uploadFile: function (button) {
var form = button.up('form').getForm();
if (form.isValid()) {
form.submit({
url: 'http://localhost/MyApplicationName/FileHandler.ashx',
waitMsg: 'Uploading your file...',
success: function (response) {
var result = Ext.decode(response.responseText);
Ext.Msg.alert('Status', result);
},
failure: function (response) {
var result = Ext.decode(response.responseText);
Ext.Msg.alert('Error', result);
}
});
}
}
有人能指出错误以及如何使其工作吗?我看到的一件事是,您正在使用
Ext.decode()
但是,写入响应的数据不是json
。您应该能够在没有解码的情况下读取responseText
目录,或者需要格式化为json
。您应该可以在控制台中看到错误。正如@weeksdev所指出的,您必须得到错误。