asp.net mvc下使用xheditor上传文件无法保存的解决方案

最近做的项目中使用了mvc 2,过程中遇到一些问题,多亏百度与谷歌的帮忙多数都在网上找到了答案。

其中有个问题是在信息发布页面,我使用了xheditor这个编辑器,指定了上传处理的action,文件是上传成功了但是刚开始总提示“错误的接口”之类的,到xheditor.com 上去看技术文档,原来是返回的需要是一个json字符串,摘抄如下:

  • 返回内容必需是标准的json字符串,结构可以是如下:{"err":"","msg":"200906030521128703.gif"} 或者 {"err":"","msg":{"url":"200906030521128703.jpg","localfile":"test.jpg","id":"1"}} 注:若选择结构2,则url变量是必有
        [HttpPost]
public ActionResult SaveUploadFile(HttpPostedFileBase fileData)
{
string result = "0";
string folder = "/UploadFiles/NoticeFiles";
string errMsg = "";
if (fileData != null)
{
try
{
string fileName = fileData.FileName;
if (fileName.LastIndexOf("\\") > 0)
{
fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
}
string currentTime = DateTime.Now.ToString("yyyyMMddhhmmss");
Random r = new Random(DateTime.Now.Millisecond);
int rndKey = r.Next(100000, 999999);
result = Path.GetFileName(fileName);//获得文件名,返回进行显示
string saveFileName = string.Format("{0}_{1}", currentTime + rndKey.ToString(), fileName);
string saveFolder = Request.MapPath(string.Format("~{0}", folder));
if (!Directory.Exists(saveFolder))
Directory.CreateDirectory(saveFolder);
fileData.SaveAs(string.Format("{0}\\{1}", saveFolder, saveFileName));
result = string.Format("{0}/{1}", folder, saveFileName);
}
catch (Exception ex) { errMsg = ex.Message; }
}
var data = new { err = errMsg, msg = result };
return this.Content(new JavaScriptSerializer().Serialize(data));//这里不能用Json方法
}