首页 > 代码库 > 启用 CORS 来解决这个问题(ajax跨域请求)
启用 CORS 来解决这个问题(ajax跨域请求)
1 <input type="file" name="btn_Upload" value="上传" id="btn_Upload" /> 2 <img src="" alt="" id="img_Upload" /> 3 4 @section Scripts 5 { 6 <link href="../../js/uploadifive-v1.2.2-standard/uploadifive.css" rel="stylesheet" /> 7 <script src="../../js/uploadifive-v1.2.2-standard/jquery.uploadifive.js"></script> 8 } 9 10 <script>11 $(function () {12 $(‘#btn_Upload‘).uploadifive({13 formData: { openId: ‘@ViewBag.OpenId‘ },14 multi: false,15 uploadScript: ‘@WXCommon.ConfigHelper.UploadUrl‘,16 onUploadComplete: function (file, data) {17 if (data) {18 var json = $.parseJSON(data);19 if (json.res) {20 alert(json.msg);21 $(‘#img_Upload‘).attr({22 src: ‘@WXCommon.ConfigHelper.ThumbnailPath‘ + ‘/‘ + ‘@ViewBag.OpenId‘ + ‘/‘ + json.fileName23 });24 } else {25 alert(json.msg);26 }27 } else {28 alert(‘服务器内部错误!‘);29 }30 }31 });32 });33 </script>
1 //独立部署的图片服务器 2 public ActionResult Index() 3 { 4 //if (Request.HttpMethod == "OPTION") 5 //{ 6 // Response.AddHeader("Access-Control-Allow-Methods", "GET,POST"); 7 // Response.AddHeader("Access-Control-Allow-Headers", "Content-Type,Accept"); 8 // Response.AddHeader("Access-Control-Max-Age", "1728000"); 9 // Response.AddHeader("Access-Control-Allow-Origin", "*");10 //}11 string openId = Request["openId"];12 HttpPostedFileBase httpPostedFileBase = Request.Files["Filedata"];13 string fileName = httpPostedFileBase.FileName;14 string extensionName = System.IO.Path.GetExtension(fileName).ToLower();15 if (extensionName == ".jpg" || extensionName == ".jpeg")16 {17 string virtualPath = "/uploads" + "/" + fileName.Replace(extensionName, "") + DateTime.Now.ToString("yyyyMMddhhmmss") + extensionName;18 string fullPath = Server.MapPath(virtualPath);19 httpPostedFileBase.SaveAs(fullPath);20 21 string savePath = Server.MapPath("/thumbnails" + "/" + openId);22 string thumbnailFileName = Thumbnail.GetThumbnailImage(160, 120, fullPath, savePath, System.Drawing.Imaging.ImageFormat.Jpeg);23 //删除原始文件24 //System.IO.File.Delete(fullPath);25 NowModel model = new NowModel();26 model.Id = 0;27 model.OpenId = openId;28 model.FileName = thumbnailFileName;29 nowBLL.Insert(model);30 return Json(new { res = true, msg = "上传成功!", fileName = thumbnailFileName });31 }32 return Json(new { res = false, msg = "上传失败!" });33 }
1 <!--仅试用于IIS7以上版本,IIS6.0请用Response.AddHeader的方式--> 2 <system.webServer> 3 <validation validateIntegratedModeConfiguration="false" /> 4 <httpProtocol> 5 <customHeaders> 6 <add name="Access-Control-Allow-Origin" value="*"/> 7 <add name="Access-Control-Allow-Methods" value="GET,POST,OPTION"/> 8 <add name="Access-Control-Allow-Headers" value="Content-Type,soapaction"/> 9 </customHeaders>10 </httpProtocol>11 </system.webServer>
启用 CORS 来解决这个问题(ajax跨域请求)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。