From d918aec6e1101517bd72f5c460a7d2be4e05e753 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Tue, 18 Feb 2014 15:22:06 -0800 Subject: [PATCH] Proxying edited images to prevent CORS errors --- .../Controllers/AdminController.cs | 17 +++++++++++++++++ .../Views/Content-ImageEditor.cshtml | 2 +- .../Controllers/AdminController.cs | 2 -- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.ImageEditor/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.ImageEditor/Controllers/AdminController.cs index 5c37daea9..a431f39aa 100644 --- a/src/Orchard.Web/Modules/Orchard.ImageEditor/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.ImageEditor/Controllers/AdminController.cs @@ -1,9 +1,11 @@ using System; using System.IO; using System.Linq; +using System.Net; using System.Web.Mvc; using Orchard.ContentManagement; using Orchard.ImageEditor.Models; +using Orchard.MediaLibrary; using Orchard.MediaLibrary.Models; using Orchard.MediaLibrary.Services; using Orchard.Mvc; @@ -91,5 +93,20 @@ namespace Orchard.ImageEditor.Controllers { return Json(true); } + + public ActionResult Proxy(string url) { + if (!Services.Authorizer.Authorize(Permissions.ManageMediaContent)) + return HttpNotFound(); + + using (var wc = new WebClient()) { + try { + var data = wc.DownloadData(url); + return new FileContentResult(data, "image"); + } + catch { + return HttpNotFound(); + } + } + } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImageEditor/Views/Content-ImageEditor.cshtml b/src/Orchard.Web/Modules/Orchard.ImageEditor/Views/Content-ImageEditor.cshtml index c8dc6c0b3..cb1dbbab1 100644 --- a/src/Orchard.Web/Modules/Orchard.ImageEditor/Views/Content-ImageEditor.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ImageEditor/Views/Content-ImageEditor.cshtml @@ -41,7 +41,7 @@
@**@ - +
diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/AdminController.cs index c2854cbf8..6c1dab9eb 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/AdminController.cs @@ -2,7 +2,6 @@ using System.Linq; using System.Web.Mvc; using Orchard.ContentManagement; -using Orchard.ContentManagement.MetaData.Models; using Orchard.Localization; using Orchard.Logging; using Orchard.MediaLibrary.Models; @@ -12,7 +11,6 @@ using Orchard.Mvc; using Orchard.Themes; using Orchard.UI.Navigation; using Orchard.ContentManagement.MetaData; -using System.Collections.Generic; using Orchard.Validation; namespace Orchard.MediaLibrary.Controllers {