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.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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -41,7 +41,7 @@
|
||||
<div id="image-editor-container" class="editor-shadow">
|
||||
<div id="image-editor-image-wrapper" >
|
||||
@*<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>
|
||||
|
||||
|
@@ -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 {
|
||||
|
Reference in New Issue
Block a user