IE8/9 JQuery.Ajax 上传文件无效
IE8/9 JQuery.Ajax 上传文件有两个限制:
- 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持)
- 使用 JQuery Form 上传,contentType 只能为 text/html,因为如果是 application/json 类型,IE8/9 会以文件下载的方式展现 json 数据。
所以,在 IE8/9 中使用 JQuery 上传只能使用 Form 的方式,示例代码:
$("#" + formid).ajaxSubmit({
type: "post",
url: '/Upload/UploadImage',
data: { fileName: fileName },
cache: false,
dataType: 'json',
success: function (data) {
console.log(data.success);
console.log(data.message);
}
});
ASP.NET MVC 后台代码:
[HttpPost]
public ActionResult UploadImage(string fileName)
{
var image = Request.Files[fileName];
var uploadResult = { success = true, message = “” };
return Json(uploadResult, "text/html", Encoding.Unicode, JsonRequestBehavior.AllowGet); //重点这段代码
}
参考资料:
作者:田园里的蟋蟀
微信公众号:你好架构
出处:http://www.cnblogs.com/xishuai/
公众号会不定时的分享有关架构的方方面面,包含并不局限于:Microservices(微服务)、Service Mesh(服务网格)、DDD/TDD、Spring Cloud、Dubbo、Service Fabric、Linkerd、Envoy、Istio、Conduit、Kubernetes、Docker、MacOS/Linux、Java、.NET Core/ASP.NET Core、Redis、RabbitMQ、MongoDB、GitLab、CI/CD(持续集成/持续部署)、DevOps等等。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
微信公众号:你好架构
出处:http://www.cnblogs.com/xishuai/
公众号会不定时的分享有关架构的方方面面,包含并不局限于:Microservices(微服务)、Service Mesh(服务网格)、DDD/TDD、Spring Cloud、Dubbo、Service Fabric、Linkerd、Envoy、Istio、Conduit、Kubernetes、Docker、MacOS/Linux、Java、.NET Core/ASP.NET Core、Redis、RabbitMQ、MongoDB、GitLab、CI/CD(持续集成/持续部署)、DevOps等等。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。