mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Proxying edited images to prevent CORS errors
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ImageEditor.Models;
|
using Orchard.ImageEditor.Models;
|
||||||
|
using Orchard.MediaLibrary;
|
||||||
using Orchard.MediaLibrary.Models;
|
using Orchard.MediaLibrary.Models;
|
||||||
using Orchard.MediaLibrary.Services;
|
using Orchard.MediaLibrary.Services;
|
||||||
using Orchard.Mvc;
|
using Orchard.Mvc;
|
||||||
@@ -91,5 +93,20 @@ namespace Orchard.ImageEditor.Controllers {
|
|||||||
|
|
||||||
return Json(true);
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -41,7 +41,7 @@
|
|||||||
<div id="image-editor-container" class="editor-shadow">
|
<div id="image-editor-container" class="editor-shadow">
|
||||||
<div id="image-editor-image-wrapper" >
|
<div id="image-editor-image-wrapper" >
|
||||||
@*<canvas id="image-editor-image" class="canvas-shadow"></canvas>*@
|
@*<canvas id="image-editor-image" class="canvas-shadow"></canvas>*@
|
||||||
<img id="image-editor-image" class="canvas-shadow" src="@Url.Content(mediaPart.MediaUrl)">
|
<img id="image-editor-image" class="canvas-shadow" src="@Url.Action("Proxy", "Admin", new { url = Url.Content(mediaPart.MediaUrl) })">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@@ -2,7 +2,6 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ContentManagement.MetaData.Models;
|
|
||||||
using Orchard.Localization;
|
using Orchard.Localization;
|
||||||
using Orchard.Logging;
|
using Orchard.Logging;
|
||||||
using Orchard.MediaLibrary.Models;
|
using Orchard.MediaLibrary.Models;
|
||||||
@@ -12,7 +11,6 @@ using Orchard.Mvc;
|
|||||||
using Orchard.Themes;
|
using Orchard.Themes;
|
||||||
using Orchard.UI.Navigation;
|
using Orchard.UI.Navigation;
|
||||||
using Orchard.ContentManagement.MetaData;
|
using Orchard.ContentManagement.MetaData;
|
||||||
using System.Collections.Generic;
|
|
||||||
using Orchard.Validation;
|
using Orchard.Validation;
|
||||||
|
|
||||||
namespace Orchard.MediaLibrary.Controllers {
|
namespace Orchard.MediaLibrary.Controllers {
|
||||||
|
Reference in New Issue
Block a user